2011-09-03 144 views
1

我試圖使執行系統命令一個小Java程序,但我似乎無法弄清楚系統命令 - Java的

現在的問題是如何一個使用Java執行系統命令?

更新:我讀了文檔&嘗試了一些例子&我仍然無法弄清楚。爲什麼不能像C那樣簡單。

+0

[如何從java程序中調用系統命令]可能的副本(http://stackoverflow.com/questions/2693740/how-to-call-system-commands-from-a-java-program) –

+0

As我在答覆中說過,對於簡單的情況來說,確實很簡單。如果你想要做更復雜的事情,也許你需要解釋一下更復雜的用例實際上是什麼? –

回答

2

最終,您在java.lang.Runtime類中使用exec()方法的家族。有一個名爲java.lang.ProcessBuilder的類可以幫助建立一個運行過程,儘管你沒有義務使用它。請務必閱讀this classic article處理輸入和輸出流,運行Windows CMD.EXE內置函數和其他潛在的陷阱。

運行命令可以像說

Runtime.exec("notepad"); 

但作爲文章指出,有很多微妙之處擔心的那樣簡單。

+0

我做了一個小測試:Runtime.exec(「ls」),當我編譯它給出了一個關於非靜態方法的錯誤,無法從靜態持續引用 –

+0

@Samantha Catania請嘗試'Runtime.getRuntime()。exec (命令);'。 – Howard

1

阿帕奇Commons-Exec類似於ProcessBuilder,但有助於避免大量的與流,流程超時,平臺的差異,等等常見的問題。我推薦使用它來代替ProcessBuilder