//郑州轻工业大学
//题号:实验二 第一题
//题目: 疫情期间,各级职能部门都要统计当天的疫情数据及时上报,所有数据都需要保存到文件中以便后继处理。请以你所学习的FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母代替疫情信息,比较四者在向文件写入时的性能差别。(注:可以使用System.currentTimeMillis( )方法获取系统时间来判断性能差别。)
————————————————
方法
我们输入26个字母以追加的方式循环10000次
然后我们不用System.currentTimeMillis( )方法获取系统时间来判断性能差别
而是使用Date d1=new Date();方法,通过d1和d2的差异来获取时间差
四种方法代码如下
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class FileWriterUse {
public FileWriterUse() {
String s = "abcdefghijklmnopqrstuvwxyz";
byte[] b=s.getBytes();
Date d1=new Date();
try {
FileWriter f=new FileWriter("D:\\javastudent\\java下学期实验二\\src\\任务一\\3.text",true);
for (int i=0;i<10000;i++)
f.write(s);
Date d2=new Date();
System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new FileWriterUse();
}
}
————
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
public class FileOutputStreamUse {
public FileOutputStreamUse() {
String s = "abcdefghijklmnopqrstuvwxyz";
byte[] b1 = s.getBytes();
Date d1 = new Date();
try {
FileOutputStream f1 = new FileOutputStream("D:\\javastudent\\java下学期实验二\\src\\任务一\\1.text", true);
for (int i = 0; i < 10000; i++)
f1.write(b1);
f1.close();
} catch (IOException e) {
e.printStackTrace();
}
Date d2=new Date();
System.out.println("FileOutputStream用时:"+(d2.getTime()-d1.getTime()));
}
public static void main(String[] args) {
new FileOutputStreamUse();
}
}
————`
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class BufferedWriterUse {
public BufferedWriterUse(){
String s = "abcdefghijklmnopqrstuvwxyz";
byte[] b1 = s.getBytes();
Date d1 = new Date();
try {
BufferedWriter f=new BufferedWriter(new FileWriter("D:\\javastudent\\java下学期实验二\\src\\任务一\\4.text"));
for (int i=0;i<10000;i++)
f.write(s);
Date d2=new Date();
System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new BufferedWriterUse();
}
}
——————
import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Date;
public class BufferedOutputStreamUse {
public BufferedOutputStreamUse(){
String s = "abcdefghijklmnopqrstuvwxyz";
byte[] b=s.getBytes();
Date d1=new Date();
try {
BufferedOutputStream f1=new BufferedOutputStream(new FileOutputStream("D:\\javastudent\\java下学期实验二\\src\\任务一\\2.text",true));//ture是允许追加
for (int i=0;i<10000;i++)
f1.write(b);
Date d2=new Date();
System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new BufferedOutputStreamUse();
}
}
水平有限,如有错误,还望大神指正;(^_−)☆