2014-01-18 70 views
1

我有一個shell命令my_command接受管道輸入,例如的Java的ProcessBuilder管

echo "test" | my_command param1 param2 

我嘗試這樣做:

cmd.add("echo"); 
cmd.add("test"); 
cmd.add("| my_command"); 
cmd.add(param1); 
cmd.add(param2); 

,但我沒有我沒有得到期望的結果。 cmd是使用ArrayList聲明的列表。謝謝

回答

2

ProcessBuilder只能運行程序,但echo不是程序,而是cmd(在Windows)命令之一。您應該在Java中運行cmd /c echo ...