实验9 Java输入输出流
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▇▆大学计算机与信息技术学院
实验报告
姓名□□□学号▅▅▅▅专业班级▅▅
课程名称 Java实验实验日期♣♣♣♣
成绩指导教师▇▇██批改日期实验名称实验9 Java的输入输出流
●实验目的
1. 理解I/O流的概念,掌握其分类
2. 掌握文本文件读写、二进制文件读写
●实验内容
1. 分别使用FileWriter 和BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差;
使用:FileWriter
程序源代码
import java.io.*;
public class TestFileWriter {
public static void main(String []args) throws IOException{
File f = new File("C:/java/tem.txt");
if (f.exists()){
System.out.printf("文件\"C:/java/tem.txt\"已存在");
System.exit(0);
}
FileWriter fileWriter = new FileWriter(f);
long time = System.currentTimeMillis();
for(int i=0;i<10000;i++)
fileWriter.write((int)(Math.random()*101));
fileWriter.close();
time = System.currentTimeMillis() - time;
System.out.printf("使用FileWriter耗时:"+time+"毫秒");
}
}
程序运行结果贴图
使用:BufferedWriter
程序源代码
import java.io.*;
public class TestBufferedWriter {
public static void main(String []args) throws IOException{
File f = new File("C:/java/tem2.txt");
FileWriter fileWriter = new FileWriter(f,true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
long time = System.currentTimeMillis();
for(int i=0;i<10000;i++)
bufferedWriter.write((int)(Math.random()*101));
bufferedWriter.close();
time = System.currentTimeMillis() - time;
System.out.printf("使用BufferedWriter耗时:"+time+"毫秒");
}
}
程序运行结果贴图
2.课本P547,19.2 :编写一个文件,如果文件Exercise 19_2.dat 不存在,就创建一个名为Exercise 19_2.txt的文件。向这个文件追加新数据。使用二进制I/O将100个随机生成的整数写入这个文件中。
程序源代码
import java.io.*;
public class Test19_2 {
public static void main(String []args) throws IOException{
File f0 = new File("C:/java/Exercise19_2.dat");
if(!f0.exists()){
File f = new File("C:/java/Exercise19_2.txt");
DataOutputStream out = new DataOutputStream(new FileOutputStream(f,true));
for(int i=0;i<100;i++) out.writeInt((int)(Math.random()*101)); out.close(); } System.out.printf("追加数据完成!");
}
}
程序运行结果贴图
3.课本P547 19.3:(对二进制数据文件中的所有数据求和)假设已经使用DataOutputStream中的writeInt(int)创建一个名为Exercise 19_3.dat的二进制数据文件,文件包含数目不确定的整数,编写一个程序来计算这些整数的总和。
程序源代码
import java.io.*;
public class SumFileData {
public static void main(String []args) throws IOException{
File f = new File("C:/java/sumData.dat");
DataOutputStream output = new DataOutputStream(new FileOutputStream(f));
int num = (int)(1+Math.random()*1000);
for(int i=0;i output.writeInt((int)(1+Math.random()*1000)); output.close(); System.out.println("已经写入"+num+"个1~1000的整数");