【发布时间】:2018-09-18 21:30:52
【问题描述】:
我修改了我在这个questions和这个one中找到的一些建议以获得下面的代码sn-p,挑战是它运行没有错误,但没有提取release.zip的内容,有什么我缺少的指针吗?
public static void main(String[] args) throws IOException, InterruptedException{
/* Unzip the release */
File folder = new File("./input/");
ProcessBuilder pb = new ProcessBuilder(
"C:/Program Files/7-Zip/7z.exe",
"x",
"./input/matsimInput/release.zip",
"new");
pb.directory(folder);
pb.redirectErrorStream(true);
Process pbProcess = null;
int pbExitCode = 1;
pbProcess = pb.start();
pbExitCode = pbProcess.waitFor();
if(pbExitCode != 0) {
throw new RuntimeException("Could not unzip release for MATSim run");
}
}
【问题讨论】:
-
我建议改用内置的压缩算法。调用外部应用程序有点疯狂。搜索“Java GZIP”或类似的内容。
-
+1 使用 Java ZIP / GZIP 本机功能从 ZIP 档案中提取数据。否则你欠我们一个解释,为什么要使用外部应用程序并使你的代码平台(Windows)依赖?
-
Google 提供了一篇不错的文章,作为最热门的文章之一,仅供您参考:baeldung.com/java-compress-and-uncompress
-
由于您实际上并没有读取流程的输出,您如何知道它是否真的失败了?
标签: java