Peut-on convertir un tableau d’octets en un InputStream en Java? J’ai cherché sur internet mais je ne l’ai pas trouvé.
J’ai une méthode qui a un argument InputStream.
Le cph InputStream que j’ai est encodé en base64, donc je devais le décoder en utilisant
BASE64Decoder decoder = new BASE64Decoder(); byte[] decodedBytes = decoder.decodeBuffer(cph);
Maintenant, comment puis-je convertir les decodedBytes
à InputStream
?
Utilisez ByteArrayInputStream
:
InputStream is = new ByteArrayInputStream(decodedBytes);
Si vous utilisez l’utilitaire Base64 de Robert Harder , vous pouvez le faire:
InputStream is = new Base64.InputStream(cph);
Ou avec le JRE du soleil, vous pouvez faire:
InputStream is = new com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)
Cependant, ne vous fiez pas à ce que cette classe continue à faire partie de la JRE, ou même continue à faire ce qu’elle semble faire aujourd’hui. Sun dit de ne pas l’utiliser.
Il existe d’autres questions sur le débordement de la stack concernant le décodage Base64, comme celle-ci.