我们可以将字节数组转换为Java中的InputStream吗?


129

我们可以将字节数组转换为Java中的InputStream吗?我一直在寻找互联网,但找不到它。

我有一个具有InputStream作为参数的方法。

cph我拥有的InputStream 是base64编码的,因此我不得不使用

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

现在如何decodedBytes再次转换为InputStream


1
API文档页面顶部的“使用”链接对于此类问题非常有用。
Tom Hawtin-抢险活动

Answers:



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解码的Stack Overflow问题,例如这一问题。


10
不要使用sun类,因为它是私有的,不应随时使用,因为它可以随时更改。
mP。

我将编辑答案以包含严重警告。在这个问题中的代码已经在使用BASE64Decoder这大概是sun.misc.BASE64Decoder
斯蒂芬Denne
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.