为了账号安全,请及时绑定邮箱和手机立即绑定

数组读取文件的问题?

数组读取文件的问题?

天涯蝶舞 2016-01-11 20:54:54
老师说,当将要读取的文件超出了数组的长度时,可以使用while((b=in.read(buf, 0, buf.length))!=-1)循环读完整个文件,但是该循环每次都是从第“0”位开始读取的,也就是每次循环都从第0位开始,那这样每次读取的文件信息都是一样了啊?请教,实现过程应该是怎样的?
查看完整描述

2 回答

?
Its_forever

TA贡献361条经验 获得超328个赞

在java源码中read()方法是这样写的:  
public synchronized int read(){
     return (pos < count) ? (buf[pos++] & 0xff) : -1;     
     }

里面有个pos指针,每调用一次pos指针指向的位置就加一次。

从第”0“位开始读取是说从每个byte数据的最低位开始读取。

查看完整回答
反对 回复 2016-01-11
  • 天涯蝶舞
    天涯蝶舞
    例如数组长度为1024字节,假设将要读入的文件内容为3000字节,读入一次后,第二次会不会又从整个文件的第一个字节读取呢?while((b=in.read(buf, 0, buf.length))!=-1)中的0是指整个文件的起始位呢,还是接着上次读完的位子作为起始位?
  • 2 回答
  • 0 关注
  • 1530 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信