老师说,当将要读取的文件超出了数组的长度时,可以使用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数据的最低位开始读取。
添加回答
举报
0/150
提交
取消