Pouvons-nous convertir un tableau d'octets en InputStream en Java? J'ai cherché sur Internet mais je ne l'ai pas trouvé.
J'ai une méthode qui a un InputStream comme argument.
Le InputStream cph
que j’ai est encodé en base64, donc j’ai dû le décoder à l’aide de
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);
Maintenant, comment puis-je convertir à nouveau decodedBytes
en InputStream
?
Utilisez ByteArrayInputStream
:
InputStream is = new ByteArrayInputStream(decodedBytes);
Si vous utilisez tilitaire Base64 de Robert Harder , vous pouvez alors:
InputStream is = new Base64.InputStream(cph);
Ou avec JRE de Sun, vous pouvez faire:
InputStream is = new
com.Sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)
Cependant, ne comptez pas sur le fait que cette classe continue de faire partie de la JRE ou même de continuer à faire ce qu'elle semble faire aujourd'hui. Sun dit de ne pas l'utiliser.
Il y a d'autres questions sur Stack Overflow sur le décodage Base64, telles que celle-ci.