老師說,當(dāng)將要讀取的文件超出了數(shù)組的長(zhǎng)度時(shí),可以使用while((b=in.read(buf, 0, buf.length))!=-1)循環(huán)讀完整個(gè)文件,但是該循環(huán)每次都是從第“0”位開始讀取的,也就是每次循環(huán)都從第0位開始,那這樣每次讀取的文件信息都是一樣了啊?請(qǐng)教,實(shí)現(xiàn)過程應(yīng)該是怎樣的?
2 回答
Its_forever
TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超328個(gè)贊
在java源碼中read()方法是這樣寫的:??
public?synchronized?int?read(){
?????return?(pos?<?count)???(buf[pos++]?&?0xff)?:?-1;?????
?????}里面有個(gè)pos指針,每調(diào)用一次pos指針指向的位置就加一次。
從第”0“位開始讀取是說從每個(gè)byte數(shù)據(jù)的最低位開始讀取。
添加回答
舉報(bào)
0/150
提交
取消
