Pasar de fichero tipo "InputStream" a tipo "byte[]" en java

/** * Pasa de InputStream a Array de bytes * @param is * @return * @throws IOException */ public byte[] inputStreamToBytes(InputStream is) throws IOException { int len; int size = 1024000; byte[] buf; if (is instanceof ByteArrayInputStream) { size = is.available(); buf = new byte[size]; len = is.read(buf, 0, size); } else { ByteArrayOutputStream bos = new ByteArrayOutputStream(); buf = new byte[size]; while ((len = is.read(buf, 0, size)) != -1) bos.write(buf, 0, len); buf = bos.toByteArray(); } return buf; }
Con el método que escribo a continuación, podemos convertir un fichero de tipo InputStream a byte[], ya que en algunos métodos de algunas aplicaciones no soportan que pasemos como parámetros tipos InputStream

Hay otra alternativa que no he probado, de la librería org.apache.commons.io.IOUtils:
IOUtils.toByteArray(inputStream);

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.