Можем ли мы преобразовать массив байтов в InputStream в Java?


можем ли мы преобразовать массив байтов в InputStream в Java? Я искал в интернете, но не мог найти его.

у меня есть метод, который имеет InputStream в качестве аргумента.

В InputStream В cph У меня есть кодировка base64, поэтому мне пришлось декодировать ее с помощью

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

теперь как мне конвертировать decodedBytes снова InputStream?

2 117

2 ответа:

использовать ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);

Если вы используете утилита Base64 Роберта Хардера, то можно сделать так:

InputStream is = new Base64.InputStream(cph);

или с JRE солнца, вы можете сделать:

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)

однако не полагайтесь на то, что класс продолжает быть частью JRE, или даже продолжает делать то, что он, кажется, делает сегодня. Солнце говорит, чтобы не использовать его.

есть и другие вопросы переполнения стека о декодировании Base64, такие как это одно.