2009-11-26 71 views
115

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

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

InputStream的cph我是base64编码,所以我不得不把它用

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

现在我该怎样转换decodedBytes再次InputStream解码?

+1

“使用”链接的API文档页面顶部是这些各种各样的问题是非常有用的。 – 2009-11-26 08:45:04

回答

4

如果使用Robert Harder's Base64 utility,那么你可以做:

InputStream is = new Base64.InputStream(cph); 

或者与Sun的JRE,你可以这样做:

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

但是不要”不要依赖那个班继续成为JRE的一部分,或者甚至继续做它似乎做的事情今天。 Sun说不要使用它。

大约有Base64编码解码其他堆栈溢出的问题,如this one.

+10

不要使用太阳类它是私人的,不应该使用,因为它可以在任何时候改变。 – 2009-11-26 08:12:29

+0

我会编辑我的答案以包含可怕的警告。问题中的代码已经使用'BASE64Decoder',推测是'sun.misc.BASE64Decoder' – 2009-11-26 08:29:32

相关问题