使用 ProcessBuilder 類

ProcessBuilder 類使通過命令列輕鬆傳送命令。它只需要一個組成要輸入的命令的字串列表。你只需在 ProcessBuilder 例項上呼叫 start() 方法即可執行該命令。

如果你有一個名為 Add.exe 的程式,它接受兩個引數並新增它們,程式碼看起來像這樣:

List<String> cmds = new ArrayList<>();
cmds.add("Add.exe"); //the name of the application to be run
cmds.add("1"); //the first argument
cmds.add("5"); //the second argument

ProcessBuilder pb = new ProcessBuilder(cmds);

//Set the working directory of the ProcessBuilder so it can find the .exe
//Alternatively you can just pass in the absolute file path of the .exe
File myWorkingDirectory = new File(yourFilePathNameGoesHere);
pb.workingDirectory(myWorkingDirectory);

try {
    Process p = pb.start(); 
} catch (IOException e) {
    e.printStackTrace();
}

要注意的一些事項:

  • 命令陣列必須都是 String 陣列
  • 如果你在命令列中呼叫程式,命令必須按順序(在陣列中)(即 .exe 的名稱不能在第一個引數之後)
  • 設定工作目錄時,需要傳入 File 物件而不僅僅是檔名作為 String