【问题标题】:convert ByteArrayOutputStream to FileInputStream [duplicate]将 ByteArrayOutputStream 转换为 FileInputStream [重复]
【发布时间】:2013-07-09 20:57:32
【问题描述】:

我已将流保存在ByteArrayOutputStream。现在我想在FileInputStream 中阅读。我该怎么做?

这是我的输出流。

...
OutputStream out = new ByteArrayOutputStream();
...

现在如何阅读,来自FileInputStream

【问题讨论】:

  • outputStreams 是用来写的,你可以从中读取
  • 关闭输出流,用fileinputstream打开文件?
  • Stream 在我的记忆中 - 它是 ByteArrayOutputStream。然后我需要那个 Stream 的 FileInputStream 变量。
  • 我没有文件。我有 ByteArrayOutputStream。

标签: java


【解决方案1】:

您可以使用

创建ByteArrayInputStream
InputStream is = new ByteArrayInputStream(bos.toByteArray());

然后阅读这个InputStream

如果你的接口只接受FileInputStream,那么接口就坏了……

如果一个接口只适用于它应该接受File 的文件,否则它应该使用InputStream

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

【讨论】:

  • 我只需要 FileInputStream。或者我有字节数组(byte [] 变量),我想从 FileInputStream 中读取
  • +1 表示“如果您的界面只接受FileInputStream,则界面已损坏”
猜你喜欢
  • 2011-03-27
  • 2015-01-13
  • 2013-11-11
  • 1970-01-01
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多