老師說,當將要讀取的文件超出了數組的長度時,可以使用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
提交
取消