java - inputstream轉(zhuǎn)為byte數(shù)組 數(shù)組越界
問(wèn)題描述
public static byte[] readInputStream(InputStream inStream) throws Exception {
try {ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len);}inStream.close();return outStream.toByteArray(); }catch (Exception e){e.printStackTrace();throw new Exception(e); }
}
網(wǎng)上都是這種處理方式 寫死有越界的可能性
不知道有沒(méi)有其他的處理方式
問(wèn)題解答
回答1:最好的方法是用Apache commons IO的IOUtils.toByteArray(inputStream),一行代碼解決。
回答2:int count = 0;while (count == 0) { count = inStream.available();}byte[] b = new byte[count];inStream.read(b);return b;
相關(guān)文章:
1. angular.js - $stateChangeSuccess事件在狀態(tài)跳轉(zhuǎn)的時(shí)候不執(zhí)行?2. 如何解決docker宿主機(jī)無(wú)法訪問(wèn)容器中的服務(wù)?3. python - Scrapy存在內(nèi)存泄漏的問(wèn)題。4. java - 三位二進(jìn)制表示8進(jìn)制,四位二進(jìn)制表示16進(jìn)制,那么多少二進(jìn)制表示10進(jìn)制呢?5. 如何用筆記本上的apache做微信開(kāi)發(fā)的服務(wù)器6. javascript - 螞蟻金服里的react Modal方法,是怎么把元素插入到頁(yè)面最后的7. CSS3 畫如下圖形8. android - rxjava merge 返回Object對(duì)象數(shù)據(jù)如何緩存9. java如何生成token?10. angular.js - ionic2 瀏覽器跨域問(wèn)題
