我試圖運行.bat文件並獲取輸出。我可以運行它,但我不能在Java中得到的結果:使用Java從BAT文件獲取輸出
String cmd = "cmd /c start C:\\workspace\\temp.bat";
Runtime r = Runtime.getRuntime();
Process pr = r.exec(cmd);
BufferedReader stdInput = new BufferedReader(
new InputStreamReader(pr.getInputStream()));
String s ;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
結果是null
。不知道爲什麼我得到這個。請注意,我正在使用Windows 7.
閱讀(並實現)*所有* [Runtime.exec()不會](http://www.javaworld.com/jw-12-2000/jw-1229-traps.html)的建議* 。這可能會解決問題。如果不是,它應該提供更多關於失敗原因的信息。然後忽略它引用'exec'並使用'ProcessBuilder'構建'Process'。還要將'String arg'分解爲'String [] args'來解釋其本身包含空格的參數。 –