问题描述
- 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的效率,访问硬盘次数是不是没有区别?
解决方案
操作系统、硬盘都是有缓冲的,所以你不能知道真正的物理读写次数。
解决方案二:
java IO中才会使用内存缓冲,意思是等你需要时,一部分一部的将文件读取到内存缓冲区,然后程序空间再去取。保存时也是同理 。缓冲区设置
越大,肯定读盘次数会小。对于大数据读取,可以看看JAVA NIO.
解决方案三:
同意二楼,这个读写硬盘的次数却实不敢说
时间: 2024-10-25 13:35:50