array - ¿Podemos convertir una matriz de bytes en un InputStream en Java?
inputstream to file java 8 (2)
¿Podemos convertir una matriz de bytes en un InputStream en Java? He estado buscando en internet pero no pude encontrarlo.
Tengo un método que tiene un InputStream como argumento.
El InputStream cph
que tengo está codificado en base64, así que tuve que decodificarlo usando
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);
Ahora, ¿cómo convierto decodedBytes
nuevamente a InputStream
?
Si usa la utilidad Base64 de Robert Harder , puede hacer:
InputStream is = new Base64.InputStream(cph);
O con el JRE del sol, puedes hacer:
InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)
Sin embargo, no confíe en que esa clase continúe siendo parte del JRE, o incluso siga haciendo lo que parece hacer hoy. Sun dice que no lo use.
Hay otras preguntas sobre Desbordamiento de pila sobre la decodificación Base64, como esta.
Use ByteArrayInputStream
:
InputStream is = new ByteArrayInputStream(decodedBytes);