Javaでバイト配列をInputStreamに変換できますか?


129

Javaでバイト配列をInputStreamに変換できますか?インターネットを探していましたが見つかりませんでした。

引数としてInputStreamを持つメソッドがあります。

cph私が持っているInputStream はbase64でエンコードされているので、それを使用してデコードする必要がありました

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

どうすればdecodedBytes再び変換できInputStreamますか?


1
APIドキュメントページの上部にある[使用]リンクは、この種の問題に非常に役立ちます。
トム・ホーティン-タックライン2009年

回答:



4

Robert HarderのBase64ユーティリティを使用すると、次のことができます。

InputStream is = new Base64.InputStream(cph);

または、SunのJREを使用して、次のことができます。

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

ただし、そのクラスがJREの一部であり続けることに依存したり、今日のように思われることを実行し続けたりすることにも依存しないでください。太陽はそれを使わないように言います。

このようなBase64デコードに関する他のスタックオーバーフローの質問があります


10
プライベートなsunクラスは使用しないでください。いつでも変更される可能性があるため、使用しないでください。
mP。

緊急の警告を含めるように回答を編集します。問題のコードはすでに使用されBASE64Decoderていると思われますsun.misc.BASE64Decoder
Stephen Denne
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.