我正在windows平台上编写一个java程序。我需要将某些文件压缩到一个 zip 存档中。我正在使用 ProcessBuilder 启动一个新的 7zip 进程:
ProcessBuilder processBuilder = new ProcessBuilder("7Z","a",zipPath,filePath);
Process p = processBuilder.start();
p.waitFor();
问题是 7zip 进程在完成后永远不会退出。它确实创建了所需的 zip 文件,但之后就挂在那里了。这意味着waitFor()
调用永远不会返回并且我的程序卡住了。请建议修复或解决方法。