Ответ 1
Используйте ByteArrayInputStream
:
InputStream is = new ByteArrayInputStream(decodedBytes);
Можно ли преобразовать массив байтов в InputStream в Java? Я смотрел в Интернете, но не мог найти его.
У меня есть метод, который имеет аргумент InputStream.
InputStream cph
У меня есть кодировка base64, поэтому мне пришлось декодировать ее с помощью
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);
Теперь как преобразовать decodedBytes
снова в InputStream
?
Используйте ByteArrayInputStream
:
InputStream is = new ByteArrayInputStream(decodedBytes);
Если вы используете утилиту 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, например этот.