为啥采用缓冲流会更快呢
虽然是从内存中取要更快,但是你还是依靠了FileInputStream从硬盘里面取啊,而且还不直接放入程序,而是放入缓冲区,这样不会更慢吗
20
收起
正在回答
2回答
同学你好,以BufferedInputStream带缓冲区的字节输入流和InputStream字节输入流为例,FileInputStream只能传入一个文件,BufferedInputStream只能获得一个文件的缓冲流对象。
我们可以这样来理解一下:
数据可以当做是水,而各种流相当于水管
1、因为缓冲区的输入输出需要专门的缓冲输入输出流才能使用,也就是专门的水管。
2、缓冲区可以看做是一块特殊的区域,里面可以容纳一定数量的数据,可以看做是水库。
3、根据上面的内容,我们可以这样理解,使用BufferedInputStream是直接在水库中取出水(数据),而使用InputStream是直接从河边(文件)中直接取出水(数据内容)
从水库直接取水是便捷的,而从河边取水是原始而又效率较慢的,所以使用缓冲流是比较快的呐。
在java虚拟机中,直接从内存中读取数据是最快的,而缓冲区是内存中的一块区域,所以使用缓冲区会更快。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星