练习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回答
同学你好!
首先同学的代码完成正确,其次缓冲流的用时为零是可以的。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题