//郑州轻工业大学
//题号:实验二 第一题
//题目: 疫情期间,各级职能部门都要统计当天的疫情数据及时上报,所有数据都需要保存到文件中以便后继处理。请以你所学习的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(); } }
水平有限,如有错误,还望大神指正;(^_−)☆