Я хочу открыть файл, загруженный с сервера программой по умолчанию, и подождать, пока редактирование не будет завершено (чтобы загрузить измененный файл на сервер). Я сделал это таким образом:
public void init() {
try {
int fileId = Integer.valueOf(this.getParameter("id"));
System.out.println("Downloading");
String filePath = downloadFile(fileId);
String[] cmd = { "cmd.exe", "/C", "start /wait " + filePath };
System.out.println("Opening");
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
System.out.println("Uploading");
uploadFile(filePath, fileId, address, session);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Это хорошо работает, за исключением случая, когда расширение файла не связано ни с одной программой. Диалоговое окно Windows для выбора программы и после того, как клиент сделал выбор, процесс выбора завершен, и файл немедленно загружается на сервер. Есть идеи как решить?