nOutputStream是您向其中写入数据的地方。如果某个模块公开了
OutputStream,则期望在另一端读取一些内容。
InputStream另一方面,暴露出的信息表示您需要侦听此流,并且会有一些数据可以读取。
因此可以将一个连接
InputStream到一个
OutputStream
InputStream----read---> intermediateBytes[n] ----write----> OutputStream
正如有人提到的那样,这就是
IOUtils的copy()方法可以让您完成的工作。走另一条路是没有道理的…希望这是有道理的
更新:
当然,我对这一点的思考越多,我越能看到这实际上是一项要求。我知道一些提及Piped输入/输出流的评论,但是还有另一种可能性。
如果公开的输出流是
ByteArrayOutputStream,那么您始终可以通过调用toByteArray()方法来获取全部内容。然后,您可以使用
ByteArrayInputStream子类创建输入流包装器。这两个都是伪流,它们基本上都只是包装一个字节数组。因此,以这种方式使用流在技术上是可行的,但对我来说仍然很奇怪…



