Domanda

Possiamo convertire un array di byte in un InputStream in Java? Ho cercato su Internet ma non sono riuscito a trovarlo.

Ho un metodo che ha un InputStream come argomento.

L'InputStream cph che ho è codificato in base64 quindi ho dovuto decodificarlo usando

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

Ora come posso convertire nuovamente decodedBytes in InputStream ?

È stato utile?

Soluzione

Usa ByteArrayInputStream :

InputStream is = new ByteArrayInputStream(decodedBytes);

Altri suggerimenti

Se usi l'utilità Base64 di Robert Harder , puoi fare:

InputStream is = new Base64.InputStream(cph);

O con JRE di Sun, puoi fare:

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)

Tuttavia, non fare affidamento sul fatto che quella classe continui a far parte del JRE o continui a fare ciò che sembra fare oggi. Sun dice di non usarlo.

Ci sono altre domande di Stack Overflow sulla decodifica Base64, come questa

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top