将 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

此外,如果您使用线程,您可以在线程之间直接使用PipedInputStreamPipedOutputStream

【讨论】:

我只需要 FileInputStream。或者我有字节数组(byte [] 变量),我想从 FileInputStream 中读取 +1 表示“如果您的界面只接受FileInputStream,则界面已损坏”

以上是关于将 ByteArrayOutputStream 转换为 FileInputStream [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream

ByteArrayOutputStream 用于短裤而不是字节

Map可以将java类ByteArrayoutputstream作为值吗? Can List可以保存javax.mail.MimeMessage对象吗?

java对象转数组|数组转对象

java:内存处理ByteArrayOutputStream,ByteArrayInputStream

图片转base64,base64转图片