我想創建一個應用程序,它使用java swing來提供GUI,但在那個應用程序中,我需要使用終端來執行Linux Ubuntu OS的命令,如sudo apt-get update
等。如何使用onClick事件使用Java Swing運行linux命令?
是否有任何方法或代碼在終端執行我的命令,但在後臺,當我點擊任何按鈕(on-click
事件)在使用java swing構建的窗體?
我想創建一個應用程序,它使用java swing來提供GUI,但在那個應用程序中,我需要使用終端來執行Linux Ubuntu OS的命令,如sudo apt-get update
等。如何使用onClick事件使用Java Swing運行linux命令?
是否有任何方法或代碼在終端執行我的命令,但在後臺,當我點擊任何按鈕(on-click
事件)在使用java swing構建的窗體?
您可以使用Runtime.exec()
方法來運行命令。這會創建一個Process
。然後,您可以waitFor
爲您的過程來完成,閱讀它是命令的結果輸出等...
請參閱的java.lang.Runtime.exec和java.lang.Process
的javadoc您還可以使用的ProcessBuilder類我用它我的項目執行命令之一在Linux(Fedora 18)中執行特定的進程。
ProcessBuilder pb = new ProcessBuilder("ls");
Process p = pb.start();
p.waitFor();// This will wait untill the execution complets;
取請參閱[ProcessBuilder](http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html)Java文檔以瞭解更多詳細信息 – MadProgrammer
也可以使用'SwingWorker'(或同等版本)讀取IO流不會阻塞EDT。 – trashgod
你可能想看看這個問題:http://stackoverflow.com/questions/12716121/how-to-run-different-commands-from-java-code?rq=1 – Burkhard