在不知道流長度的情況下將輸入流轉換成字節數組 前面介紹了已知流長度的情況下的轉換方法,那么當我們不知道流有多長時,也就是說不能確定轉換后的字節數組有多大時,該怎么處理呢?筆者查看了JDK文檔之后發現ByteArrayOutputStream有一個byte[] toByteArray()方法,該方法會自動創建一個字節數組,然后返回。于是就巧妙的用ByteArrayOutputStream來作中間過渡實現轉換,其它處理跟上面所介紹已知長度的情況差不多。假設需要被轉換的流已經放在inStream里了,我們可以用如下的代碼實現這一功能:
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100]; //buff用于存放循環讀取的臨時數據
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/