将 ByteArrayOutputStream 转换为 FileInputStream [重复]
Posted
技术标签:
【中文标题】将 ByteArrayOutputStream 转换为 FileInputStream [重复]【英文标题】:convert ByteArrayOutputStream to FileInputStream [duplicate] 【发布时间】:2013-07-09 20:57:32 【问题描述】:我已将流保存在ByteArrayOutputStream
。现在我想在FileInputStream
中阅读。我该怎么做?
这是我的输出流。
...
OutputStream out = new ByteArrayOutputStream();
...
现在如何阅读,来自FileInputStream
?
【问题讨论】:
outputStreams 是用来写的,你可以从中读取 关闭输出流,用fileinputstream打开文件? Stream 在我的记忆中 - 它是 ByteArrayOutputStream。然后我需要那个 Stream 的 FileInputStream 变量。 我没有文件。我有 ByteArrayOutputStream。 【参考方案1】:您可以使用
创建ByteArrayInputStream
InputStream is = new ByteArrayInputStream(bos.toByteArray());
然后阅读这个InputStream
。
如果你的接口只接受FileInputStream
,那么接口就坏了……
如果一个接口只适用于它应该接受File
的文件,否则它应该使用InputStream
。
此外,如果您使用线程,您可以在线程之间直接使用PipedInputStream
和PipedOutputStream
。
【讨论】:
我只需要 FileInputStream。或者我有字节数组(byte [] 变量),我想从 FileInputStream 中读取 +1 表示“如果您的界面只接受FileInputStream
,则界面已损坏”以上是关于将 ByteArrayOutputStream 转换为 FileInputStream [重复]的主要内容,如果未能解决你的问题,请参考以下文章
将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream
ByteArrayOutputStream 用于短裤而不是字节
Map可以将java类ByteArrayoutputstream作为值吗? Can List可以保存javax.mail.MimeMessage对象吗?