在java中,能夠使用InputStream對文件進行讀取,就是字節流的輸入。當讀取文件內容進程序時,須要使用一個byte數組來進行存儲,如此會有例如以下兩個問題:
1.怎樣建立合適大小的byte數組,假設已知輸入流的大小。
2.假設不知輸入流的大小,則肯定須要建立一個非常大的byte數組,那么byte中非常可能有空的內容,那么怎樣正確合適的將byte數組的中的內容輸出?
先看第一個問題:解決之道就是獲取輸入流的大小,創建此大小的byte數組。代碼例如以下:
第二個問題:問題的解決之道就是獲得輸入流何時結束,它在byte中的尾索引位置。能夠通過read()方法實現,read()返回讀取的字節內容,當內容為空時返回-1。利用此特征能夠解決第二個問題。代碼例如以下: