Possiamo convertire un array di byte in un InputStream in Java?
-
05-07-2019 - |
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
?
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