将ByteArrayOutputStream转换为FileInputStream

3 java

我已经保存了流ByteArrayOutputStream.现在我想读一下FileInputStream.我怎样才能做到这一点?

这是我的outputStream.

...
OutputStream out = new ByteArrayOutputStream();
...
Run Code Online (Sandbox Code Playgroud)

现在怎么读,从FileInputStream

Uwe*_*nus 10

您可以创建一个ByteArrayInputStream

InputStream is = new ByteArrayInputStream(bos.toByteArray());
Run Code Online (Sandbox Code Playgroud)

然后从中读取InputStream.

如果你的接口只接受a FileInputStream那么接口就坏了......

如果一个接口只适用于文件,那么它应该接受一个File应该使用的其他接口InputStream.

此外,如果你使用线程,你可以使用PipedInputStreamPipedOutputStream线程之间的直接.

  • +1 表示“如果您的接口仅接受 `FileInputStream`,则接口已损坏” (2认同)