Il mio background è .net, sono abbastanza nuovo in Java. Sto facendo del lavoro per il team java della nostra azienda e l'architetto ha bisogno di me per implementare un metodo che prende un oggetto InputStream (java.io). Per soddisfare lo scopo del metodo ho bisogno di convertirlo in un array di byte. C'è un modo semplice per farlo?In Java, come posso convertire un InputStream in un array di byte (byte [])?
risposta
Il modo più semplice è quello di creare un nuovo ByteArrayOutputStream
, copiare i byte a questo, e quindi chiamare 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();
}
Assicurati di svuotare il flusso di uscita prima di tornare. – quikchange
@quikchange: non è necessario quando si utilizza un ByteArrayOutputStream - dove verrà memorizzato il buffer? –
Un modo semplice sarebbe quella di utilizzare org.apache.commons.io.IOUtils.toByteArray(inputStream)
, vedere apache commons io.
- 1. Come convertire un array di byte in Base64 in Java?
- 2. Possiamo convertire un array di byte in un InputStream in Java?
- 3. Creazione di un InputStream Java da un enumeratore [Array [Byte]]
- 4. Come convertire un array di byte in un array int?
- 5. Come convertire un InputStream in un DataHandler?
- 6. come convertire l'immagine in array di byte in java?
- 7. Convertire un array di byte a una classe che contiene un array di byte in C#
- 8. Lettura di un array di byte C# in Java
- 9. Java: come "tagliare" un array di byte?
- 10. Come convertire un XmlDocument in un array <byte>?
- 11. Come convertire l'immagine in array di byte e array di byte in stringa Base64 in Android?
- 12. Converti lista <byte[]> in un byte [] array
- 13. Come posso convertire un int64 in un array di byte in go?
- 14. C# Come convertire System.Net.ConnectStream in un byte [] (array)
- 15. C#: Convertire array di byte in un galleggiante
- 16. Come inizializzare un array di byte in Java?
- 17. Come convertire la matrice di byte in stringa in Java?
- 18. Byte Array in Python
- 19. Come posso convertire il byte [] in BitmapImage?
- 20. Come convertire un byte in bit?
- 21. Come posso convertire un InputStream non compresso in un InputStream gzip in modo efficiente?
- 22. Come posso convertire POI HSSFWorkbook in byte?
- 23. Qual è il modo migliore per convertire un array di byte in un IntStream?
- 24. Come convertire l'array di byte in hexString in java?
- 25. Come posso convertire un array di float in un byte [] e viceversa?
- 26. Come convertire da un float a 4 byte in Java?
- 27. Come convertire l'array di byte in formato esadecimale in Java
- 28. convertire system.data.linq.binary in byte []
- 29. Come posso scrivere un array di byte in un file in Java?
- 30. Il modo più efficiente per convertire InputStream in byte []?
Tenere presente che potrebbe trattarsi di un hogging della memoria. – BalusC