我有這部分代碼,應該在Windows啓動msg.exe子:如何檢測未在Java中由ProcessBuilder執行的文件?
ProcessBuilder pb = new ProcessBuilder("msg.exe");
try {
proc = pb.start();
} catch (IOException ex) {
jLabel4.setText("Cannot launch message box process");
return;
}
現在我試圖刪除/重命名msg.exe並沒有拋出異常:在catch子句兩條線路不執行。 如何檢測未找到由進程生成器執行的文件?
如果我嘗試捕獲FileNotFoundException,它說這個已被捕獲(可能是IOException的一部分)。如果我嘗試只捕獲FileNotFoundException,它需要捕獲帶有警告的IOException。
顯示我們pb'的'創作:
這種困境可以通過明確說明該文件你嘗試執行必須在當前目錄中得到解決。 – xehpuk 2015-02-06 16:34:53
應該已經打印;向我們展示創建pb – 2015-02-06 16:52:13
您是否在談論'C:\ Windows \ System32 \ msg.exe'?你是如何重命名或刪除它的?還是你在談論另一個名爲「msg.exe」的可執行文件? – xehpuk 2015-02-06 17:12:12