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

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

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

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

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

Теперь как преобразовать decodedBytes снова в InputStream?

Ответ 1

Используйте ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);

Ответ 2

Если вы используете утилиту Robert Harder Base64, то вы можете сделать:

InputStream is = new Base64.InputStream(cph);

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

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

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

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