10.02 Java執行命令(shell

在Java中有兩種方式來執行(shell/cmd)命令,總共涉及5個主要的類

Process類介紹

Java執行命令(shell/cmd)

◆ 通過ProcessBuilder

ProcessBulder , 是一個 final 類,他有兩個構造方法
Java執行命令(shell/cmd)

Java執行命令(shell/cmd)

◆ 通過Runtime的exec方法來執行

 即運行時,表示當前進程所在的虛擬機實例。由於任何進程只會運行於一個虛擬機實例當中,所以在Runtime中採用了單例模式,即只會產生一個虛擬機實例源碼中可以看出,由於Runtime類的構造器是private的,所以只有通過getRuntime去獲取Runtime的實例。通過源碼exec()方法可知,事實上通過Runtime類的exec執行命令的話,最終還是通過ProcessBuilder類的start方法來執行的。
Java執行命令(shell/cmd)

要注意的是,exec方法不支持不定長參數(ProcessBuilder是支持不定長參數的),所以必須先把命令參數拼接好再傳進去。


分享到:


相關文章: