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

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

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

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

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

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

114
26 нояб. '09 в 10:42
источник поделиться
2 ответов

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

InputStream is = new ByteArrayInputStream(decodedBytes);
271
26 нояб. '09 в 10:44
источник

Если вы используете утилиту 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, например этот.

4
26 нояб. '09 в 11:00
источник

Посмотрите другие вопросы по меткам или Задайте вопрос