Czy możemy przekonwertować tablicę bajtów na strumień wejściowy w Javie?

Czy możemy przekonwertować tablicę bajtów na strumień wejściowy w Javie? Szukałem w Internecie, ale nie mogłem go znaleźć.

Mam metodę, która ma strumień wejściowy jako argument.

Strumień wejściowy cph, który mam, jest zakodowany w base64, więc musiałem go dekodować za pomocą

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

Jak teraz przekształcić decodedBytes Ponownie na InputStream?

Author: Daniel Rikowski, 2009-11-26

2 answers

Użycie ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);
 276
Author: Daniel Rikowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-07 06:12:38

Jeśli używasz narzędzia Base64 Roberta Hardera , możesz to zrobić:

InputStream is = new Base64.InputStream(cph);

Lub z sun ' s JRE, możesz zrobić:

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)
Nie licz jednak na to, że ta klasa będzie nadal częścią JRE, a nawet nadal będzie robić to, co wydaje się robić dzisiaj. Sun mówi, żeby jej nie używać.

Istnieją inne pytania o przepełnienie stosu dotyczące dekodowania Base64, takie jak ten.

 4
Author: Stephen Denne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:31