Pouvons-nous convertir un tableau d'octets en InputStream en Java?
-
05-07-2019 - |
Question
Pouvons-nous convertir un tableau d'octets en InputStream en Java? Je cherchais sur Internet, mais je ne pouvais pas le trouver.
J'ai une méthode qui a pour argument un InputStream.
Le InputStream cph
que j’ai est codé en base64, donc j’ai dû le décoder à l’aide de
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);
Maintenant, comment convertir decodedBytes
à nouveau en InputStream
?
La solution
Utilisez ByteArrayInputStream
. / a>:
InputStream is = new ByteArrayInputStream(decodedBytes);
Autres conseils
Si vous utilisez l'utilitaire Base64 de Robert Harder , vous pouvez effectuer les opérations suivantes:
InputStream is = new Base64.InputStream(cph);
Ou avec JRE du soleil, vous pouvez faire:
InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)
Cependant, ne comptez pas sur cette classe pour continuer à faire partie de la JRE, ou même pour continuer à faire ce qu'elle semble faire aujourd'hui. Sun dit de ne pas l'utiliser.
Il existe d’autres questions sur le décodage Base64 concernant le décodage Base64, telles que celle-ci celle-ci.