已采纳回答 / 墨雨忆诗
缓冲区的每次的复制文件的速度是会发生变化的,不是固定不变的(你自己可以试试),而且,批量缓存的速度太快了,而缓存速度又会或上或下的改变,因此,我们无法做出正确的判断,所以,用批量缓存来判断缓存区对文件的复制效率是不准确的
2015-06-15
FileInputStream in=new FileInputStream(fileName);
byte[] buf=new byte[8*2014];
/*从in中读取批量的字节,放入到buf这个字节数组中
*从0个位置开始放,最多放buf.length个
*返回的是读到的字节的个数
*/
int bytes=in.read(buf, 0, buf.length);
我读的这个文件只有443字节,小于byte数组长度.
按照read方法返回的说明的话,已经到达文件末尾了,为什么返回的不是-1呢?
byte[] buf=new byte[8*2014];
/*从in中读取批量的字节,放入到buf这个字节数组中
*从0个位置开始放,最多放buf.length个
*返回的是读到的字节的个数
*/
int bytes=in.read(buf, 0, buf.length);
我读的这个文件只有443字节,小于byte数组长度.
按照read方法返回的说明的话,已经到达文件末尾了,为什么返回的不是-1呢?
2015-06-15