133

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

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

我拥有的 InputStreamcph是 base64 编码的,所以我必须使用它来解码它

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

现在我如何decodedBytes再次转换为InputStream

4

2 回答 2

303

使用ByteArrayInputStream

InputStream is = new ByteArrayInputStream(decodedBytes);
于 2009-11-26T07:44:25.003 回答
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 问题,例如这个。

于 2009-11-26T08:00:27.390 回答