Mi historial es .net, soy bastante nuevo en Java. Estoy trabajando para el equipo de Java de nuestra compañía y el arquitecto me necesita para implementar un método que tome un objeto InputStream (java.io). Para cumplir el propósito del método, necesito convertirlo en una matriz de bytes. ¿Hay una forma fácil de hacer esto?En Java, ¿cómo puedo convertir un InputStream en una matriz de bytes (byte [])?
17
A
Respuesta
51
La forma más sencilla es crear un nuevo ByteArrayOutputStream
, copiar los bytes de eso, y luego llamar a 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
Asegúrese de enjuagar la salida de salida antes de regresar. – quikchange
+5
@quikchange: no es necesario cuando utilizas un ByteArrayOutputStream, ¿dónde se almacenará? –
9
Una forma sencilla sería utilizar org.apache.commons.io.IOUtils.toByteArray(inputStream)
, ver apache commons io.
Cuestiones relacionadas
- 1. Cómo convertir byte [] a InputStream?
- 2. ¿Podemos convertir una matriz de bytes en un InputStream en Java?
- 3. Cómo convertir una cadena en byte en Java
- 4. Convertir corto a byte [] en Java
- 5. Cómo convertir un InputStream a un DataHandler?
- 6. Java: convertir la lista de bytes en una matriz de bytes
- 7. ¿Cómo puedo convertir un objeto a Inputstream
- 8. Java - ¿Convertir int a Byte Array de 4 bytes?
- 9. ¿Cómo convierto una matriz de bytes Java en una matriz de bytes Scala?
- 10. Cómo convertir una matriz de bytes en una matriz int?
- 11. cómo convertir imágenes en matriz de bytes en java?
- 12. Cómo puedo convertir una matriz de bytes en un archivo ZIP
- 13. Convertir una matriz de bytes a una clase que contiene una matriz de bytes en C#
- 14. Java: Convertir bytes a entero
- 15. ¿Cómo puedo convertir una matriz de bytes en un doble y volver?
- 16. Java: ¿Cómo "recortar" una matriz de bytes?
- 17. ¿Cómo puedo convertir un InputStream sin comprimir en un InputStream gzip'ed de manera eficiente?
- 18. ¿Cómo convertir un byte en bits?
- 19. Scala: InputStream to Array [Byte]
- 20. Lectura de una matriz de bytes C# en Java
- 21. Cómo convertir un entero a matriz de bytes en php
- 22. ¿Cómo puedo ver los primeros dos bytes en un InputStream?
- 23. ¿Cómo inicializo una matriz de bytes en Java?
- 24. Cómo convertir imágenes en matriz de bytes
- 25. Cómo convertir una matriz de bytes a blob
- 26. Convertir byte en cadena en Java
- 27. C#: Convertir matriz de bytes en un flotador
- 28. Convertir byte de certificado [] en X509Certificate en Java
- 29. Cómo convertir int [] a byte []
- 30. ¿Cómo convierto una matriz de bytes a Base64 en Java?
Tenga en cuenta que esto puede ser acaparamiento de memoria. – BalusC