Peut-on convertir un tableau d’octets en un InputStream en Java?

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.