web-dev-qa-db-ja.com

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

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

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

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

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

decodedBytesInputStreamに再度変換するにはどうすればよいですか?

122
rover12

ByteArrayInputStream を使用します。

InputStream is = new ByteArrayInputStream(decodedBytes);
283
Daniel Rikowski

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の一部であることに依存したり、今日のように見えることを続けたりすることさえしないでください。 Sunはそれを使用しないと言います。

this one。 など、Base64デコードに関する他のスタックオーバーフローの質問があります。

4
Stephen Denne