我目前正在开发一个 Web 应用程序,该应用程序涉及安装驱动器和提取 tar.gz 文件,全部使用 Java。由于应用程序在 linux 环境中运行,我想我会尝试使用 unix 命令,如“mount”和“tar”。
Runtime runtime = Runtime.getRuntime();
Process proc;
String mountCommand = "mount -t cifs -o username=...";
String extractCommand = "tar xzf ..."
proc = runtime.exec(mountCommand);
proc.waitFor();
proc = runtime.exec(extractCommand);
proc.waitFor();
在终端中运行 mount 命令和 extract 命令可以正常工作,但在 FIRST 在 java 中运行时会失败。第二个 proc.waitFor() 返回退出代码 2。但是,在第一次尝试失败后运行此代码可以正常工作。我有一种感觉,问题在于 waitFor() 没有等到 mount 命令完全完成。我在我的代码中遗漏了什么重要的东西吗?
另外,我宁愿在 Java 中完成这一切,但我很难弄清楚如何解压文件,所以我采用了这种方法。(哦,如果有人能告诉我该怎么做,我会很高兴)。任何建议将不胜感激!