为什么运行结果只显示这个
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 BufferStream {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println("one.txt不用缓冲流来写:");
FileOutputStream fos=new FileOutputStream("one.txt",true);
FileInputStream fis=new FileInputStream("one.txt");
long start=System.currentTimeMillis();
int t=0;
while(t<10){
char i='a';
fos.write(i);
t++;
}
int n=0;
while((n=fis.read())!=-1){
System.out.print((char)n);
}
long end=System.currentTimeMillis();
System.out.println("\n"+"用时:"+(end-start));
fos.close();
fis.close();
System.out.println("**********************************");
System.out.println("two.txt用缓冲流来写:");
FileOutputStream fos2=new FileOutputStream("two.txt",true);
BufferedOutputStream bos=new BufferedOutputStream(fos2);
FileInputStream fis2=new FileInputStream("two.txt");
BufferedInputStream bis=new BufferedInputStream(fis2);
long start1=System.currentTimeMillis();
int t1=0;
while(t1<10){
char i='a';
bos.write(i);
t1++;
}
//bos.flush();
int n1=0;
while((n1=bis.read())!=-1){
System.out.print((char)n1);
}
long end1=System.currentTimeMillis();
System.out.println("用时:"+(end1-start1));
bos.close();
bis.close();
fos2.close();
fis2.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
0
收起
正在回答 回答被采纳积分+1
3回答
好帮手慕小班
2019-07-16 20:02:05
同学你好,本题目为了展示加上缓冲流的效率更高哦!并没有要求读出数据,所以这里可以不使用read方法来读哦!并且根据题目要求,向文件中写入100000个字符哦,例如:
public class BufferStream {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println("one.txt不用缓冲流来写:");
FileOutputStream fos=new FileOutputStream("one.txt",true);
// FileInputStream fis=new FileInputStream("one.txt");
long start=System.currentTimeMillis();
int t=0;
while(t<100000){
char i='a';
fos.write(i);
t++;
}
// int n=0;
// while((n=fis.read())!=-1){
// System.out.print((char)n);
// }
long end=System.currentTimeMillis();
System.out.println("\n"+"用时:"+(end-start));
fos.close();
// fis.close();
System.out.println("**********************************");
System.out.println("two.txt用缓冲流来写:");
FileOutputStream fos2=new FileOutputStream("two.txt",true);
BufferedOutputStream bos=new BufferedOutputStream(fos2);
//FileInputStream fis2=new FileInputStream("two.txt");
// BufferedInputStream bis=new BufferedInputStream(fis2);
long start1=System.currentTimeMillis();
int t1=0;
while(t1<100000){
char i='a';
bos.write(i);
t1++;
}
//bos.flush();
// int n1=0;
// while((n1=bis.read())!=-1){
// System.out.print((char)n1);
// }
long end1=System.currentTimeMillis();
System.out.println("用时:"+(end1-start1));
bos.close();
// bis.close();
fos2.close();
// fis2.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}运行效果如下:

这就是题目要求的效果哦!
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星