7
如何執行Bash命令並從Java收集輸出?如何執行Bash命令並收集Java輸出?
大家好,基本上我寫一個基本的控制檯應用程序,並希望能夠運行從它的命令,如sudo ***,暫停使用ifconfig等
任何見解?
如何執行Bash命令並從Java收集輸出?如何執行Bash命令並收集Java輸出?
大家好,基本上我寫一個基本的控制檯應用程序,並希望能夠運行從它的命令,如sudo ***,暫停使用ifconfig等
任何見解?
您可以使用processBuilder API來達到此目的。見this example。
未經測試的代碼:
Runtime run = Runtime.getRuntime();
Process pr = run.exec(bashcommand);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while ((String line ; line = buf.readLine()) != null)
{
System.out.println(line);
}
的例子就說明了一切。 – extraneon 2011-02-03 18:41:23
不要忘記調用processBuilder.redirectErrorStream(true)。或者啓動另一個線程來消耗stderr。 – Ron 2011-02-03 20:05:23