将 IOException 从 PipedOutputStream 冒泡到 PipedInputStream

Bubble IOException from PipedOutputStream to PipedInputStream

我正在将一些数据写入 PipedOutputStream,我已连接到 PipedInputStream,我将其传递给第三方 API。 写入 PipedOutputStream 是在另一个线程上异步完成的。

当PipedOutputStream抛出一个IOException时,对对应的PipedInputStream有什么影响?它也会抛出异常吗?我认为这是期望的行为,因为 InputStream 应该提供的内容不完整。

如果不是这样,我该如何模拟这种效果?

注意:PipedOutputStream 包含在自动关闭 OutputStream 的 try-with-resources 语句中。

只有当您关闭连接的 PipedInputStream 时,您才能在 PipedOutputStream 上获得 IOException。这意味着那时你不能再从输入中读取。您无法传递人工 IOException。