2015-10-05 51 views
0

我不明白read方法是如何工作的。爲什麼我需要字節數組作爲方法的參數?FileInputStream類的方法read(byte [] b)如何工作?

我很抱歉,如果這是明顯的,但我是新手到Java。

+0

byte [] b是您讀取的字節結束的地方,metod返回您讀取的字節數。 –

+0

這是一個很好的做法,總是檢查官方Java文檔,然後才問問題[FileInputStream](http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html) –

+0

這是包裝一個標準的系統調用。大多數語言都有這樣的方法。你有沒有考慮過替代方案,爲什麼你不這麼做? –

回答

0

有幾種超載read方法在那裏。如果你只是想讀取輸入流,你可以使用read()。但是,如果您想在讀取輸入流後存儲數據,則應使用read(byte[] b)。數據將被存儲在該陣列

REF IN:http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html

+0

所以如果我明白你說的方法read(byte [] b)從輸入流中讀取數據,然後將它們放到一個字節數組中。但是我不會在這個方法中首先將數據放入數組中,然後讀取它們或先讀取它們,然後將它們放入數組中。 – jimao

0

作爲每javadocs,它從輸入流中讀取bytes並將其用於byte[]高達所述byte[]的長度。如果輸入流中剩餘的字節小於byte[]的長度,則只有剩餘的字節將被添加到byte[]byte[]中的其餘值不會被修改,並保持原來的狀態。

相關問題