您的位置:首頁技術文章
文章詳情頁

java - inputstream轉為byte數組 數組越界

瀏覽:73日期:2023-12-09 10:37:15

問題描述

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); }

}

網上都是這種處理方式 寫死有越界的可能性

不知道有沒有其他的處理方式

問題解答

回答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;

標簽: java
相關文章:
国产综合久久一区二区三区