我的背景是.net,我對Java相當陌生。我正在爲我們公司的Java團隊做一些工作,架構師需要我實現一個採用InputStream(java.io)對象的方法。爲了實現方法的目的,我需要將它轉換爲一個字節數組。是否有捷徑可尋?在Java中,如何將InputStream轉換爲字節數組(byte [])?
17
A
回答
51
最簡單的方法是創建一個新的ByteArrayOutputStream
,字節複製到,然後調用toByteArray
:
public static byte[] readFully(InputStream input) throws IOException
{
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = input.read(buffer)) != -1)
{
output.write(buffer, 0, bytesRead);
}
return output.toByteArray();
}
+0
確保在返回之前清空輸出流。 – quikchange 2010-05-20 14:17:56
+5
@quikchange:當你使用ByteArrayOutputStream時,不需要它 - 緩衝到哪裏? – 2010-05-20 14:41:46
9
一個簡單的方法是使用org.apache.commons.io.IOUtils.toByteArray(inputStream)
,看到apache commons io。
相關問題
- 1. 將byte []數組轉換爲字節數
- 2. 如何將byte []轉換爲InputStream?
- 3. 如何將InputStream轉換爲字符串到Java中的字節數組?
- 4. 如何將ref字節轉換爲byte []?
- 5. Java - 將int轉換爲4字節的Byte數組?
- 6. 如何將Java字節數組轉換爲Scala字節數組?
- 7. 如何將位圖轉換爲字節數組(byte [])?
- 8. 如何將byte []數組轉換爲字節類型變量?
- 9. BigInteger如何在Java中將字節數組轉換爲數字?
- 10. 如何將int轉換爲Byte數組?
- 11. 如何將字符串數組轉換爲字節數組? (java)
- 12. 我們可以在Java中將字節數組轉換爲InputStream嗎?
- 13. 不能從字節轉換爲byte [] java
- 14. 轉換字節數組(byte [])到圖像在Java中
- 15. 如何在Java中將字節數組轉換爲hexString?
- 16. 將字節數組轉換爲.wav java
- 17. 將Scala中的Seq [Byte]轉換爲byte []/InputStream
- 18. 如何將字符串轉換爲字節數組中的Java
- 19. 如何從Java中的InputStream讀取並轉換爲字節數組?
- 20. 將Java字節數組轉換爲Python字節數組
- 21. 將字符串轉換爲byte []和byte []轉換爲JAVA中的字符串
- 22. 在Java中,如何正確地將byte []轉換爲字符串爲byte []?
- 23. 如何將字節數組轉換爲java中的BigInteger
- 24. 如何將.mp4視頻轉換爲Java中的字節數組?
- 25. 如何將字節數組轉換爲java中的圖像?
- 26. 如何將字節數組轉換爲Java中的AudioInputStream
- 27. 如何將java.awt.Image轉換爲java中的字節數組?
- 28. 如何將字節數組轉換爲Java中的Base64?
- 29. C#將object []轉換爲byte [],但如何將字節對象保存爲byte?
- 30. Java:將InputStream轉換爲OutputStream
請注意,這可能是內存佔用。 – BalusC 2010-01-29 17:18:27