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-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署
- 2024-04-14RAG应用开发实战02-相似性检索的关键 - Embedding