我有一个输入字节数组,我想将其提供给外部程序 (Process
) 的标准输入。另外,我想将输出收集到一个字节数组中。
最优雅的方法是什么? PipedInputStream
/PipedOutputStream
? nio.channels.Pipe
?
示例代码会更好,因为我真的不知道如何以一种好的方式做到这一点......
最佳答案
管道用于 Java 中的线程之间。它们不是此解决方案的一部分。要将字节数组写入进程,只需根据需要经常调用 Process.getOutputStream.write(byte[])。要将其读入字节数组,只需调用 Process.getInputStream.read(byte[])。如果您不知道会有多少输出,请将其复制到 ByteArrayOutputStream。
关于java - 字节数组作为外部程序的标准输入/输出。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6882217/