你說得對,你需要從另一個驅動器運行應用程序。我將遵循Java Web Start CD Install指南,該指南對於USB驅動器或任何其他介質(如CD)也應如此。
您需要使您的應用程序成爲Java Web Start應用程序。它實際上比聽起來容易得多;您的.jar不需要更改,您只需創建一個擴展名爲.jnlp的小XML文件,並將其放在.jar文件旁邊。有關Java Web Start和JNLP文件的信息可以在the tutorial以及該頁面底部的鏈接中找到。
執行安全刪除的外部可執行文件可以包含在應用程序的.jar文件中。您可以從您的.jar複製到一個臨時文件,以運行它:
Path safeRemovalProgram = Files.createTempFile(null, ".exe");
try (InputStream stream =
MyApp.class.getResourceAsStream("saferemoval.exe")) {
Files.copy(stream, safeRemovalProgram,
StandardCopyOption.REPLACE_EXISTING);
}
safeRemovalProgram.toFile().setExecutable(true);
ProcessBuilder builder =
new ProcessBuilder(safeRemovalProgram.toString());
builder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
Process safeRemovalProcess = builder.start();
來源
2013-10-12 21:45:52
VGR
我有一個可執行文件,讓我安全地移除通過命令行,我計劃從臨時文件運行驅動器。然而,問題是我不知道如何運行可執行文件,因爲在應用程序運行時驅動器不能被彈出。我需要以某種方式啓動一個腳本,等待主應用程序退出,然後嘗試安全地移除驅動器,但(代碼方面)我不確定如何執行此操作 – Andy