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