java nio 写文件的速度与io 写文件速度相当,
例子3_3
package experiment3_3;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class NIO3_3 {
static final String mmm = "天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰馀成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾归王鸣凤在竹白驹食场化被草木赖及万方盖此身发四大五常恭惟鞠养岂敢毁伤女慕贞洁男效才良知过必改得能莫忘罔谈彼短靡恃己长信使可复器欲难量墨悲丝染诗赞羔羊景行维贤克念作圣德建名立形端表正空谷传声虚堂习听祸因恶积福缘善庆尺璧非宝寸阴是竞资父事君曰严与敬孝当竭力忠则尽命临深履薄夙兴温①似兰斯馨如松之盛川流不息渊澄取映容止若思言辞安定笃初诚美慎终宜令荣业所基籍甚无竟学优登仕摄职从政存以甘棠去而益咏乐殊贵贱礼别尊卑上和下睦夫唱妇随外受傅训入奉母仪诸姑伯叔犹子比儿孔怀兄弟同气连枝交友投分切磨箴规仁慈隐恻造次弗离节义廉退颠沛匪亏性静情逸心动神疲守真志满逐物意移坚持雅操好爵自縻都邑华夏东西二京背邙面洛浮渭据泾宫殿盘郁楼观飞惊图写禽兽画彩仙灵丙舍傍启甲帐对楹肆筵设席鼓瑟吹笙升阶纳陛弁转疑星右通广内左达承明既集坟典亦聚群英杜稿钟隶漆书壁经府罗将相路侠槐卿户封八县家给千兵高冠陪辇驱毂振缨世禄侈富车驾肥轻策功茂实勒碑刻铭②溪伊尹佐时阿衡奄宅曲阜微旦孰营桓公匡合济弱扶倾绮回汉惠说感武丁俊③密勿多士④宁晋楚更霸赵魏困横假途灭虢践土会盟何遵约法韩弊烦刑起翦颇牧用军最精宣威沙漠驰誉丹青九州禹迹百郡秦并岳宗泰岱禅主云亭雁门紫塞鸡田赤城昆池碣石巨野洞庭旷远绵邈岩岫杳冥治本于农务资稼穑⑤载南亩我艺黍稷税熟贡新劝赏黜陟孟轲敦素史鱼秉直庶几中庸劳谦谨敕聆音察理鉴貌辨色贻厥嘉猷勉其祗植省躬讥诫宠增抗极殆辱近耻林皋幸即两疏见机解组谁逼索居闲处沉默寂寥求古寻论散虑逍遥欣奏累遣戚谢欢招渠荷的历园莽抽条枇杷晚翠梧桐蚤凋陈根委翳落叶飘摇游⑥独运凌摩绛霄耽读玩市寓目囊箱易⑦攸畏属耳垣墙具膳餐饭适口充肠饱饫烹宰饥厌糟糠亲戚故旧老少异粮妾御绩纺侍巾帷房纨扇圆⑧银烛炜煌昼眠夕寐蓝笋象床弦歌酒宴接杯举觞矫手顿足悦豫且康嫡后嗣续祭祀⑨尝稽颡再拜悚惧恐惶笺牒简要顾答审详骸垢想浴执热愿凉驴骡犊特骇跃超骧诛斩贼盗捕获叛亡布射僚丸嵇琴阮啸恬笔伦纸钧巧任钓释纷利俗⑩皆佳妙毛施淑姿工颦妍笑年矢每催曦晖朗曜璇玑悬斡晦魄环照指薪修祜永绥吉劭矩步引领俯仰廊庙束带矜庄徘徊瞻眺孤陋寡闻愚蒙等诮谓语助者焉哉乎也";
/**
* @param args
*/
public static void main(String[] args) {
try {
StringBuilder sb = new StringBuilder(1000);
for(int i=0;i<10000;i++){
sb.append(mmm);
}
long ta = System.currentTimeMillis();
byte[] bmmm = sb.toString().getBytes("GBK");
FileOutputStream out = new FileOutputStream("2.txt");
FileChannel fc = out.getChannel();
ByteBuffer bf = ByteBuffer.allocate(bmmm.length);
bf.put(bmmm);
bf.flip();
fc.write(bf);
out.close();
long tb = System.currentTimeMillis();
System.out.println("totally time cost = "+ (tb-ta));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
totally time cost = 254
package experiment3_3;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
public class IO3_3 {
static final String mmm = "天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰馀成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾归王鸣凤在竹白驹食场化被草木赖及万方盖此身发四大五常恭惟鞠养岂敢毁伤女慕贞洁男效才良知过必改得能莫忘罔谈彼短靡恃己长信使可复器欲难量墨悲丝染诗赞羔羊景行维贤克念作圣德建名立形端表正空谷传声虚堂习听祸因恶积福缘善庆尺璧非宝寸阴是竞资父事君曰严与敬孝当竭力忠则尽命临深履薄夙兴温①似兰斯馨如松之盛川流不息渊澄取映容止若思言辞安定笃初诚美慎终宜令荣业所基籍甚无竟学优登仕摄职从政存以甘棠去而益咏乐殊贵贱礼别尊卑上和下睦夫唱妇随外受傅训入奉母仪诸姑伯叔犹子比儿孔怀兄弟同气连枝交友投分切磨箴规仁慈隐恻造次弗离节义廉退颠沛匪亏性静情逸心动神疲守真志满逐物意移坚持雅操好爵自縻都邑华夏东西二京背邙面洛浮渭据泾宫殿盘郁楼观飞惊图写禽兽画彩仙灵丙舍傍启甲帐对楹肆筵设席鼓瑟吹笙升阶纳陛弁转疑星右通广内左达承明既集坟典亦聚群英杜稿钟隶漆书壁经府罗将相路侠槐卿户封八县家给千兵高冠陪辇驱毂振缨世禄侈富车驾肥轻策功茂实勒碑刻铭②溪伊尹佐时阿衡奄宅曲阜微旦孰营桓公匡合济弱扶倾绮回汉惠说感武丁俊③密勿多士④宁晋楚更霸赵魏困横假途灭虢践土会盟何遵约法韩弊烦刑起翦颇牧用军最精宣威沙漠驰誉丹青九州禹迹百郡秦并岳宗泰岱禅主云亭雁门紫塞鸡田赤城昆池碣石巨野洞庭旷远绵邈岩岫杳冥治本于农务资稼穑⑤载南亩我艺黍稷税熟贡新劝赏黜陟孟轲敦素史鱼秉直庶几中庸劳谦谨敕聆音察理鉴貌辨色贻厥嘉猷勉其祗植省躬讥诫宠增抗极殆辱近耻林皋幸即两疏见机解组谁逼索居闲处沉默寂寥求古寻论散虑逍遥欣奏累遣戚谢欢招渠荷的历园莽抽条枇杷晚翠梧桐蚤凋陈根委翳落叶飘摇游⑥独运凌摩绛霄耽读玩市寓目囊箱易⑦攸畏属耳垣墙具膳餐饭适口充肠饱饫烹宰饥厌糟糠亲戚故旧老少异粮妾御绩纺侍巾帷房纨扇圆⑧银烛炜煌昼眠夕寐蓝笋象床弦歌酒宴接杯举觞矫手顿足悦豫且康嫡后嗣续祭祀⑨尝稽颡再拜悚惧恐惶笺牒简要顾答审详骸垢想浴执热愿凉驴骡犊特骇跃超骧诛斩贼盗捕获叛亡布射僚丸嵇琴阮啸恬笔伦纸钧巧任钓释纷利俗⑩皆佳妙毛施淑姿工颦妍笑年矢每催曦晖朗曜璇玑悬斡晦魄环照指薪修祜永绥吉劭矩步引领俯仰廊庙束带矜庄徘徊瞻眺孤陋寡闻愚蒙等诮谓语助者焉哉乎也";
/**
* @param args
*/
public static void main(String[] args) {
try {
StringBuilder sb = new StringBuilder(1000);
for(int i=0;i<10000;i++){
sb.append(mmm);
}
long ta = System.currentTimeMillis();
byte[] bmmm = sb.toString().getBytes("GBK");
FileOutputStream fos = new FileOutputStream("3_3_1.txt");
fos.write(bmmm);
fos.close();
long tb = System.currentTimeMillis();
System.out.println("totally time cost = "+ (tb-ta));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
totally time cost = 254
相关推荐
在本教程中,我们将深入探讨Java NIO流的两个关键部分:文件通道操作和选择器。 ### 文件通道操作 在Java NIO中,文件通道(FileChannel)是从`java.nio.channels.FileChannel`类中创建的,它允许我们以非阻塞方式...
5. **文件I/O操作**:Java提供了丰富的API进行文件读写,实验可能要求实现文件的创建、读取、修改和删除,或者进行更复杂的文件流操作。 6. **多线程**:Java对多线程支持良好,实验可能会让学生编写并发程序,理解...
在本Java高级开发的课后实验报告中,我们将深入探讨Java编程语言的高级特性与实践应用,旨在提升开发者对Java的全面理解与熟练运用。Java作为一种广泛应用的编程语言,其强大的功能和跨平台特性使其在软件开发领域...
3. 异步I/O:Java NIO(New IO)库提供了非阻塞I/O操作,这对于模拟文件系统的读写操作至关重要,特别是处理大量并发请求时。 4. 文件权限和访问控制:在模拟文件系统时,需要考虑用户对文件和目录的访问权限,这...
实验六:IO流与NIO 实验深入讲解Java的输入输出流体系,包括字节流、字符流、缓冲流等,以及最新的NIO(非阻塞I/O)框架,让学生掌握高效的数据传输方法。 实验七:多线程编程 Java支持并发编程,学生将学习如何...
【标题】:“东北大学Java实验报告2018.rar”是一个关于Java编程的教育资料,主要针对东北大学的学生,可能是2018年度的教学实践内容。这个压缩包包含的是一系列Java语言程序设计的实验报告,旨在帮助学生巩固理论...
这个PDF文档描述了一个基于Java NIO(Non-blocking Input/Output)的文件传输实验,旨在让学生理解网络通信的基本原理和编程技巧。实验的目标是实现一个自定义协议的文件传输服务器(FileServer)和客户端...
在"JAVA实验&实验报告&实验指导书"中,学生或学习者可以深入理解并实践Java的核心概念和技术。以下是对这些主题的详细阐述: 1. 用户自定义绘图:Java提供了丰富的图形用户界面(GUI)工具,如Java AWT(Abstract ...
在本Java实验册题目答案中,我们主要探讨的是与Java编程相关的实践问题,这些题目源自华南农业大学(Scau)的课程。这个压缩包包含了所有实验的源代码,且每一份代码都已经通过了验证,确保了正确性。下面,我们将...
Java程序设计实验指导源程序是一份非常有价值的资源,对于初学者和有经验的Java开发者来说,都是一个很好的学习和实践平台。这份资料包含了作者精心编写的程序和源代码,旨在帮助用户深入理解Java编程语言,并通过...
六、Java NIO 服务器端开发的优化 Java NIO 服务器端开发的优化包括缓冲区的优化、通道的优化、选择器的优化等。缓冲区的优化包括缓冲区的大小调整、缓冲区的复用等。通道的优化包括通道的池化、通道的复用等。选择...
总的来说,这个实验提供了Java NIO实现文件传输的实践经验,让学生深入理解网络通信的原理,同时熟悉非阻塞I/O模型,这对提升软件开发者的技能至关重要。通过这样的练习,开发者能够更好地设计和实现高并发、高性能...
7. **IO流与NIO**: 对于更高级的输入/输出操作,实验可能还会涉及Java的New IO(NIO)框架,包括Channel、Buffer和Selector的使用。 8. **多线程**: Java内置了对多线程的支持,实验会讲解如何创建和管理线程,以及...
Java程序设计实验是计算机科学教育中的一个重要组成部分,它旨在帮助学生深入理解Java编程语言的核心概念、语法和编程实践。在这样的实验中,学生通常会经历从编写简单的控制台应用程序到实现复杂的面向对象系统的...
可以使用`java.nio.file.Files.move()`方法将文件重命名并移动到安全的存储位置。 2. 文件类型检查:限制可上传的文件类型,防止恶意文件上传。可以检查文件的MIME类型,或者对文件扩展名进行白名单过滤。 3. 容量...
`java.nio.file`包中的`Files`类提供了丰富的文件操作方法,而`java.nio.channels.FileChannel`允许高效地进行文件传输。 在实际编程中,选择合适的IO流类取决于你的需求,如读写速度、是否需要处理字符编码、是否...
实验五重点关注JAVA的文件操作和输入/输出流。我们将学习如何读写文件,包括使用File类操作文件,使用FileInputStream和FileOutputStream进行字节流操作,以及使用BufferedReader和PrintWriter处理字符流。此外,...
Java实验题目通常涵盖了许多核心Java概念,旨在帮助学习者深入理解和掌握编程技能。在这个实验科目中,你可能会遇到各种挑战,这些挑战将涉及到以下几个关键知识点: 1. **基础语法**:Java的基础语法包括变量声明...
在本实验中,我们将深入探讨Java编程语言在创建一个简单的聊天室应用中的应用。这个"JAVA综合实验2聊天室"项目旨在让学生理解网络编程的基本原理,特别是如何利用Java实现客户端和服务器之间的通信,以及如何设计多...
4. **NIO(非阻塞I/O)**:Java的NIO库提供了选择器和通道的概念,使得程序可以同时处理多个连接,提高并发性能。Selector用于监听多个Channel,而Channel则连接到网络套接字或其他I/O源。 5. **HTTPClient**:Java...