課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
批量讀取的時候,數組的大小不能夠一次性讀完,視頻中的案例是不是就沒有讀完大文件的所有字節。
2015-09-09
源自:文件傳輸基礎——Java IO流 4-2
正在回答
for循環輸出buf數組中的內容, while循環控制文件是否讀完;
?read()返回的讀入緩沖區的字節總數,如果因為已經到達文件末尾而沒有更多的數據,則返回 -1。
從此輸入流中將最多 b.length 個字節的數據讀入一個 byte 數組中。在某些輸入可用之前,此方法將阻塞。
我的理解是一個水池,大小是buf.length ?放滿水后(存滿了數據)從另個通道排出, 然后進水口在繼續進水(繼續讀取數據,從0到buf.length)當最后一次排水結束 進水口沒有進水了 ?返回了-1 ?觸發了whlie的條件 ?跳出了該代碼段; ?以上是個人的一些愚見 ?希望大家能夠告訴我理解錯誤的地方
苦茶好好喝喝 提問者
不是太懂。假如一個水池有100L的水,有個11 L的容器取水,每次取11 L,前9次都是滿的11L,最后一次取水水池只剩1L的水了。容器是把這1L的水取走就判斷返回-1了,還是最后一次取走后再一次循環判斷是否返回-1?
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
4 回答求教批量讀取
1 回答關于文件批量讀取的起始位置的問題
4 回答單字節讀取時Integer.toHexString(b) 批量讀取時Integer.toHexString(buf[i]&0xff)
2 回答帶緩沖的應該比批量的讀取快吧?帶緩沖的批量比批量快吧?
3 回答批量讀取是否還需要循環與判斷-1
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-10-18
for循環輸出buf數組中的內容, while循環控制文件是否讀完;
?read()返回的讀入緩沖區的字節總數,如果因為已經到達文件末尾而沒有更多的數據,則返回 -1。
從此輸入流中將最多 b.length 個字節的數據讀入一個 byte 數組中。在某些輸入可用之前,此方法將阻塞。
我的理解是一個水池,大小是buf.length ?放滿水后(存滿了數據)從另個通道排出, 然后進水口在繼續進水(繼續讀取數據,從0到buf.length)當最后一次排水結束 進水口沒有進水了 ?返回了-1 ?觸發了whlie的條件 ?跳出了該代碼段; ?以上是個人的一些愚見 ?希望大家能夠告訴我理解錯誤的地方
2016-09-01
不是太懂。假如一個水池有100L的水,有個11 L的容器取水,每次取11 L,前9次都是滿的11L,最后一次取水水池只剩1L的水了。容器是把這1L的水取走就判斷返回-1了,還是最后一次取走后再一次循環判斷是否返回-1?