我想用Java執行操作系統命令,然後打印出它的返回值。就像這樣:將操作系統命令的輸出寫入控制檯
這就是我想...
String location_of_my_exe_and_some_parameters = "c:\\blabla.exe /hello -hi";
Runtime.getRuntime().exec(location_of_my_exe_and_some_parameters);
我試圖把一個是System.out.print()在我運行...行的開頭,但失敗了。因爲,顯然,getRuntime()
returns a Runtime
object。
現在,問題是,當我在命令行執行「blabla.exe/hello -hi」命令時,我得到如下結果:「您執行了一些命令,歡呼!」。但是,在Java中,我一無所獲。
我試圖把返回值放入一個Runtime
對象,一個Object
對象。但是,他們都失敗了。我怎樣才能做到這一點?
問題就迎刃而解了 - 這是我的解決方案
Process process = new ProcessBuilder(location, args).start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
非常感謝你。感謝您親切,禮貌和快速。 –
@John Doe:確保標記對您最有幫助的答案,以便將來讀者快速找到答案。 – Tudor
我認爲我不能標記或投票。我沒有足夠的「業力」。 –