我有以下问题:
我得到了一个具有以下 API 的模块:
public void start(InputStream input, OutputStream output,
InputStream error, PipeListener<T> listener)
该模块的目的是促进主系统和外部进程(在本例中为 Process 实例)之间的通信。
我要做的是实现一个“模拟进程”,它实际上是一个线程实例,但有自己的伪输入、输出和错误流。这里的关键是流本身的性质,例如,我想要返回的流实现
((MockProcess)mockProcess).getInputStream()
在功能上与
((Process)realProcess).getInputStream().
出于所有意图和目的,它们应该是完全可互换的。
我应该使用哪个 InputStream 和 OutputStream 实现(分别)来实现这一点?我能找到的唯一建议是使用管道流......但这真的是最好的选择吗?