




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山西大学计算机与信息技术学院实验报告姓 名 学 号 专业班级计算机科学与技术 课程名称 Java实验实验日期2014/5/29成 绩指导教师陈千批改日期实验名称 实验9 Java的输入输出流l 实验目的1. 理解I/O流的概念,掌握其分类2. 掌握文本文件读写、二进制文件读写l 实验内容 1. 分别使用FileWriter 和 BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差;使用:FileWriter程序源代码import java.io.*;public class fileWriter public static void main(String args) throws IOException / TODO Auto-generated method stublong time = System.currentTimeMillis();/ 当前时间FileWriter filewriter = new FileWriter(text);int number;for (int i = 0; i = 10000; i+) number = (int) Math.random() * 10000;filewriter.write(number + );filewriter.close();time = System.currentTimeMillis() - time;/ 时间差System.out.println(使用FileWriter用时为: + time + 微秒);程序运行结果贴图使用:BufferedWriter程序源代码import java.io.IOException;public class BufferedWriter public BufferedWriter(String string) / TODO Auto-generated constructor stubpublic static void main(String args) throws IOException / TODO Auto-generated method stublong time = System.currentTimeMillis();/ 当前时间BufferedWriter bufferedwriter = new BufferedWriter(bufferedwriter.txt);int number;for (int i = 0; i = 10000; i+) number = (int) Math.random() * 10000;bufferedwriter.write(number + );bufferedwriter.close();time = System.currentTimeMillis() - time;/ 时间差System.out.println(使用BufferedWriter用时为: + time + 微秒);private void write(String string) / TODO Auto-generated method stubprivate void close() / TODO Auto-generated method stub程序运行结果贴图2. 课本P547,19.2 :编写一个文件,如果文件Exercise 19_2.dat 不存在,就创建一个名为Exercise 19_2.txt的文件。向这个文件追加新数据。使用二进制I/O将100个随机生成的整数写入这个文件中。程序源代码import java.io.DataOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class Exercise19_2 public static void main(String args) throws IOException DataOutputStream output = new DataOutputStream(new FileOutputStream(Exercise19_2.dat, true);for (int i = 0; i 100; i+)output.writeInt(int) (Math.random() * 100);output.close();System.out.println(Done);程序运行结果贴图3. 课本P547 19.3:(对二进制数据文件中的所有数据求和)假设已经使用DataOutputStream中的writeInt(int)创建一个名为Exercise 19_3.dat的二进制数据文件,文件包含数目不确定的整数,编写一个程序来计算这些整数的总和。程序源代码package test_9;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class Exercise19_3 public static void main(String args) throws IOException System.out.println(准备写入.);File file = new File(Exercise19_3.dat);/ 当前目录下创建一个文件OutputStream write = new FileOutputStream(file);/ 开始向新建文件内写入DataOutputStream dos = new DataOutputStream(write);/ 使用过滤流将写入单位扩大为对象int data = 1, 2, 3, 4, 5 ;/ 向文件中写五个数据for (int i = 0; i data.length; i+) dos.writeInt(datai);dos.close();System.out.println(写入结束.);System.out.println(开始读取.);InputStream input = new FileInputStream(file);/ 输出流DataInputStream filter = new DataInputStream(input);/ 过滤流int result = 0;while (true) try result += filter.readInt(); catch (Exception e) break;System.out.println(所得的计算结果为: + result);System.out.println(读取结束.);程序运行结果贴图4. 在文本文件bigbook.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。程序源代码import java.io.FileInputStream;import java.io.IOException;public class CountA public static void main(String args) throws IOException long time = System.currentTimeMillis();String filename = J:bigbook.txt;FileInputStream f = new FileInputStream(filename);int count = 0;int c;while (c = f.read() != -1) if (c = A) count+;f.close();System.out.println(bigbook.txt中A的个数为: + count);time = System.currentTimeMillis() - time;System.out.println(统计A的时间为: + time);程序运行结果贴图5. 编写一个Java应用程序,给当前的类所在的文件ReadExample.java添加行号拷贝到另一个文件temp.text。 需要拷贝的源文件的内容为: 程序源代码import java.io.IOException;public class BufferedWriter public BufferedWriter(String string) / TODO Auto-generated constructor stubpublic static void main(String args) throws IOException / TODO Auto-generated method stublong time = System.currentTimeMillis();/ 当前时间BufferedWriter bufferedwriter = new BufferedWriter(bufferedwriter.txt);int number;for (int i = 0; i = 10000; i+) number = (int) Math.random() * 10000;bufferedwriter.write(number + );bufferedwriter.close();time = System.currentTimeMillis() - time;/ 时间差System.out.println(使用BufferedWriter用时为: + time + 微秒);private void write(String string) / TODO Auto-generated method stubprivate void close() / TODO Auto-generated method stub程序运行结果贴图:可以看到 在当前路径下,生成了一个拷贝文件temp.txt文件内容为:P547 19.5(将对象和数组存储在文件中)编写一个程序,向一个名为Exercise19_5.dat的文件中存储一个含5个int值1,2,3,4,5的数组,存储一个表示当前时间的Date对象,存储一个double值5.5程序源代码import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class Exercise19_5 public static void main(String args) throws IOException,ClassNotFoundException / TODO Auto-generated method stubint number = 1, 2, 3, 4, 5 ;ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(Exercise19_5_dat);output.writeObject(number);output.writeDouble(5.5);output.writeObject(new java.util.Date();output.close();ObjectInputStream input = new ObjectInputStream(new FileInputStream(Exercise19_5_dat);System.out.println(存储的数组为: );int readNumber = (int) (input.readObject();for (int i = 0; i readNumber.length; i+) System.out.print(readNumberi + );double num = input.readDouble();java.util.Date date = (java.util.Date) (input.readObject();System.out.println(ndouble型的数为: + num + n + 日期为: + date);程序运行结果贴图P548 19.12(组合文件)编写一个工具程序,使它能够用下面的命令,将文件组合在一起构成一个新文件:java Exercise19_12 SourceFile1SourceFilen TargetFile这个命令将 SourceFile1,SourceFilen合并为TargetFile。程序源代码import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灌南篝火晚会活动策划方案
- 美团团购的营销推广方案
- 福清建房基础施工方案
- 防洪设施建设土地利用影响分析
- 湖北省烟花爆竹应急预案
- 江门在线税务咨询方案
- 建筑教具制作比赛方案设计
- 分析鸿星尔克营销方案
- 推销食品活动策划方案模板
- 数据治理咨询项目方案
- 夫妻忠诚协议书8篇
- 2025年大队委竞选面试题库及答案
- 2025年信用管理专业题库- 信用管理对企业市场风险的控制
- 新教科版小学1-6年级科学需做实验目录
- GB/T 8492-2024一般用途耐热钢及合金铸件
- 第五版-FMEA-新版FMEA【第五版】
- 冀教版 英语六年级上册Unit 1 Lesson4 教学课件PPT小学公开课
- pcr技术及其应用-ppt课件
- 铁路外部安全环境管理
- 110kV变电站一次与二次验收规范
- 论建筑隔震工程监理要点
评论
0/150
提交评论