Te damos la bienvenida a nuestra página, en este sitio vas a hallar la resolución de lo que buscabas.
Solución:
Lea desde el flujo de entrada y escriba en un ByteArrayOutputStream, luego llame a su toByteArray()
para obtener el byte array.
Crea un ByteArrayInputStream alrededor del byte array para leer de él.
Aquí hay una prueba rápida:
import java.io.*;
public class Test
public static void main(String[] arg) throws Throwable
File f = new File(arg[0]);
InputStream in = new FileInputStream(f);
byte[] buff = new byte[8000];
int bytesRead = 0;
ByteArrayOutputStream bao = new ByteArrayOutputStream();
while((bytesRead = in.read(buff)) != -1)
bao.write(buff, 0, bytesRead);
byte[] data = bao.toByteArray();
ByteArrayInputStream bin = new ByteArrayInputStream(data);
System.out.println(bin.available());
Puede usar org.apache.commons.io.IOUtils#toByteArray(java.io.InputStream)
InputStream is = getMyInputStream();
ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(is));
O primero convertirlo a un byte arrayluego a un bytearrayinputstream.
File f = new File(arg[0]);
InputStream in = new FileInputStream(f);
// convert the inpustream to a byte array
byte[] buf = null;
try
buf = new byte[in.available()];
while (in.read(buf) != -1)
catch (Exception e)
System.out.println("Got exception while is -> bytearr conversion: " + e);
// now convert it to a bytearrayinputstream
ByteArrayInputStream bin = new ByteArrayInputStream(buf);
Si te gustó nuestro trabajo, tienes la habilidad dejar una división acerca de qué te ha impresionado de esta reseña.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)