阻止與非阻止呼叫
通常,在呼叫命令列時,程式將傳送命令,然後繼續執行。
但是,你可能希望在繼續執行之前等待被呼叫的程式完成(例如,被呼叫的程式會將資料寫入檔案,而你的程式需要該資料才能訪問該資料。)
這可以通過從返回的 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...