java 实验六 输入输出 实验报告.docxVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java 实验六 输入输出 实验报告

实验六 输入输出实验目标:1. 理解I/O流的概念与机制,掌握其分类;2. 掌握文本文件的读写、二进制文件的读写、处理流类的概念和用法、对象序列化;3. 掌握File类,压缩流类和RandomAccessFile类的使用;4. 遇到I/O方面的问题,能够自行查阅API稳当解决。实验任务:课本198页习题2,并使用这个程序来copy自己硬盘的大文件(任何格式都可以,如电影,最好大于500MB),看看需时多少?提示:首先需要看懂课本文本文件例子,再模仿修改,关键不同在下面三点。(1)文本文件复制中是每次读一行,而在二进制文件复制中是自行指定读取多少字节的数据,写法如下。privateboolean copyFiles() { //这个私有方法用来拷贝文件,如无异常返回truetry {byte[] buf = newbyte[512];int num = source.read(buf); //从源文件读取数据while (num 0) { // 只要能够读取数据,就继续读dest.write(buf, 0, num); //向目标文件写入 num = source.read(buf); //从源文件读取数据 } }catch (IOException iox) { System.out.println(Problem reading or writing);returnfalse; }returntrue; }-------------------以上请注意byte[] buf = newbyte[512],说明每次只读512字节,请更换每次读取的缓冲字节数,比如byte[] buf = newbyte[5120],每次读5mb左右,请试试copy效率回有所提高吗?请截图回答。(2)需时多少可以通过CPU时钟计算,方法见下。Calendar start=Calendar.getInstance();new BinaryFileCopy().copy(args[0], args[1]); Calendar end=Calendar.getInstance();long time=end.getTimeInMillis()-start.getTimeInMillis(); System.out.println(copy时间为+time+毫秒);(3)因为这个程序执行需要输入参数的,所以在eclipse里面不能直接执行的,要到dos界面去执行,这里命令行的写法就有点讲究了。首先,运行的是class文件,你先要找到class文件而不是java源代码文件,一般放在项目的bin目录下,因此必须在bin目录下执行,第二执行class文件的程序是java,课本第5页最后几行有介绍,比如运行当前目录下的HelloWorld.class,语法为:java HelloWorld,注意,必须在bin目录下执行第三,如果你的类是在一个包里,比如我这个类Exe6_2.class在包charp6里面,写法为java charp6.Exe6_2第四,这个copy程序需要输入两个参数,一个源文件,一个目标文件,记得参数文件名要有后缀名,具体见下截图。当byte[] buf = newbyte[512]时,该程序的代码如下:package zi;import java.io.*; import java.util.Calendar;class BinaryFileCopy { String sourceName, destName; FileInputStream source; FileOutputStream dest; String line;//打开源文件和目标文件,无异常返回trueprivateboolean openFiles() {try {source = new FileInputStream(sourceName ); }catch ( IOException iox ) { System.out.println(Problem opening +sourceName ); returnfalse; }try {dest = new FileOutputStream(destName); }catch ( IOException iox ) { System.out.println(Problem opening + destName );returnfalse; }returntrue; } //复制文件pr

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档