阻止與非阻止呼叫

通常,在呼叫命令列時,程式將傳送命令,然後繼續執行。

但是,你可能希望在繼續執行之前等待被呼叫的程式完成(例如,被呼叫的程式會將資料寫入檔案,而你的程式需要該資料才能訪問該資料。)

這可以通過從返回的 Process 例項呼叫 waitFor() 方法輕鬆完成。

用法示例:

//code setting up the commands omitted for brevity...

ProcessBuilder pb = new ProcessBuilder(cmds);

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

//more lines of code here...