2 qq 33530738 qq_33530738 于 2016.01.22 21:15 提问

inputstream.read(byte[] b,int off,int len)和write读写硬盘次数?

java中inputstream.read(byte[] b,int off,int len)和write读写硬盘次数,
每次调用inputstream.read(byte[] b,int off,int len)是访问硬盘一次吗,还是访问硬盘len次?
如果只是访问一次,byte[]的长度、len等于BufferedInputStream的缓冲区的大小,那么inputstream与BufferedInputStream的效率,访问硬盘次数是不是没有区别?

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.22 21:20

操作系统、硬盘都是有缓冲的,所以你不能知道真正的物理读写次数。

Evankaka
Evankaka   Ds   Rxr 2016.01.22 23:14

java IO中才会使用内存缓冲,意思是等你需要时,一部分一部的将文件读取到内存缓冲区,然后程序空间再去取。保存时也是同理 。缓冲区设置
越大,肯定读盘次数会小。对于大数据读取,可以看看JAVA NIO.

Mr_dsw
Mr_dsw   Ds   Rxr 2016.01.23 12:26

同意二楼,这个读写硬盘的次数却实不敢说

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!