FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母,比较四者性能
2021/11/25 9:39:44
本文主要是介绍FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母,比较四者性能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//郑州轻工业大学
//题号:实验二 第一题
//题目: 疫情期间,各级职能部门都要统计当天的疫情数据及时上报,所有数据都需要保存到文件中以便后继处理。请以你所学习的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(); } }
水平有限,如有错误,还望大神指正;(^_−)☆
这篇关于FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母,比较四者性能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南