我一直试图弄清楚如何使用新的ProcessBuilder
在Java中管理一些进程。我找不到一个合适的例子来说明我想要做什么,当我尝试自己做这个过程时,这个过程就会挂起。我将非常感谢一些代码运行相当于cat test.txt | wc
的代码的简单示例,但不是通过shell。
- 更新 -
好的,只是澄清一下。我知道有一些方法可以通过读写流来模拟管道。我想知道这是否是通过Java 7中引入的redirectInput和redirectOutput方法以某种自动方式完成的。
答案 0 :(得分:3)
在这种情况下,您不需要管道。
"grep bla test.txt"
但是假设你需要一个管道,你需要使用像bash这样的shell
"/bin/bash", "-c", "grep foo text.txt | grep bar"
答案 1 :(得分:3)
使用Input-
中的简单复制循环为每个OutputStream
/ run()
对开始子线程。