练习3-16。老师你好,请问我的代码写的有什么问题吗,谢谢!!!
来源:3-16 自由编程
不停奔跑的小恐龙
2019-08-10 12:41:28
package my; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileDemo3 { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("imooc.txt"); FileOutputStream fos = new FileOutputStream("imooc.txt"); long start=System.currentTimeMillis(); for(int i=1;i<=100000;i++){ try { fos.write(i); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } long end=System.currentTimeMillis(); System.out.println("imooc.txt不使用緩衝流來寫"); System.out.println("使用输出流用時:"+(end-start)); //缓存 FileOutputStream fos2 = new FileOutputStream("imooc2.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos2); long start2=System.currentTimeMillis(); for(int i=1;i<=100000;i++){ try { bos.write(i); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { bos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } long end2=System.currentTimeMillis(); System.out.println("imooc2.txt使用緩衝流來寫"); System.out.println("使用缓存流用時:"+(end2-start2)); System.out.println("節省時間:"+((end-start)-(end2-start2))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
还有一点就是在执行的时候,缓冲流的写入时间有时候会是0,有时候又是有数据的,请问这是为什么?谢谢老师!!!
1回答
同学你好!
首先同学的代码完成正确,其次缓冲流的用时为零是可以的。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题