为什么输入输出步骤多了反而更快?
学到后面又重新回来学习理解输入输出流,有下面这一问题
由于输入输出过程相反,仅以输出为例,个人理解为:
Program---调用write函数---BufferedOutputStream----FileOutputStream---File
引入缓冲流后过程是 由程序写数据X到 缓冲输出流 然后 缓冲输出流 到 文件输出流 最后到 文件
而 不采用缓冲流是 Program---调用write函数---FileOutputStream---File,即相同路径少一个缓冲流
为什么中间经过缓冲流,后面的过程也一样,多了一个步骤反而能更快??
正在回答
同学你好,加上缓冲流后,可以这样理解:
使用缓冲处理流包装就是一堆一堆的干活,还能不用CPU多次处理数据转换,只是设置一下数据转换成功后的文件。
不使用缓冲处理流包装就是CPU就会傻傻的一个字节一个字节循环来干活存储写入文件中,相比可见效率明显变慢。
由上述内容可知,使用缓冲流后,速度会加快。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Program---调用write函数---BufferedOutputStream----FileOutputStream---File
当然也有可能是我这个路径是错误的,想到一个解释,附上原代码
FileOutputStream fo = new FileOutputStream("a.txt");
BufferedOutputStream bo=new BufferedOutputStream(fo);
bo.write(123);
在创建BufferedOutputStream对象时,实际上实现了 文件输出流 到 缓冲输出流
即 真正路径应该是
Program---调用write函数---FileOutputStream---BufferedOutputStream----File
我的想法是否正确??
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星