2013-08-16 55 views
0

我想創建一個應用程序,它使用java swing來提供GUI,但在那個應用程序中,我需要使用終端來執行Linux Ubuntu OS的命令,如sudo apt-get update等。如何使用onClick事件使用Java Swing運行linux命令?

是否有任何方法或代碼在終端執行我的命令,但在後臺,當我點擊任何按鈕(on-click事件)在使用java swing構建的窗體?

+0

你可能想看看這個問題:http://stackoverflow.com/questions/12716121/how-to-run-different-commands-from-java-code?rq=1 – Burkhard

回答

0

您可以使用Runtime.exec()方法來運行命令。這會創建一個Process。然後,您可以waitFor爲您的過程來完成,閱讀它是命令的結果輸出等...
請參閱的java.lang.Runtime.execjava.lang.Process

1

的javadoc您還可以使用的ProcessBuilder類我用它我的項目執行命令之一在Linux(Fedora 18)中執行特定的進程。

ProcessBuilder pb = new ProcessBuilder("ls"); 
Process p = pb.start(); 
p.waitFor();// This will wait untill the execution complets; 
+1

取請參閱[ProcessBuilder](http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html)Java文檔以瞭解更多詳細信息 – MadProgrammer

+0

也可以使用'SwingWorker'(或同等版本)讀取IO流不會阻塞EDT。 – trashgod