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

Can we convert a byte array into an InputStream in Java?

我们可以将字节数组转换成Java中的输入流吗?我一直在上网,但找不到。

我有一个方法,它有一个inputstream作为参数。

我用的输入流cph是base64编码的,所以我必须用

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

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


使用ByteArrayInputStream

1
InputStream is = new ByteArrayInputStream(decodedBytes);

如果使用Robert Harder的base64实用程序,则可以执行以下操作:

1
InputStream is = new Base64.InputStream(cph);

或者使用Sun的JRE,您可以做到:

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

然而,不要依赖那个类继续作为JRE的一部分,或者甚至继续做它今天看起来要做的事情。太阳说不要用它。

还有其他关于base64解码的堆栈溢出问题,比如这个问题。