【发布时间】:2013-06-27 14:52:49
【问题描述】:
我正在尝试使用 Java 批处理应用程序在 Unix 机器上解压缩文件。
源代码:
String fileName = "x98_dms_12";
Runtime.getRuntime().exec("gunzip "+ fileName + ".tar.gz");
System.out.println(" Gunzip:"+"gunzip "+ fileName + ".tar.gz");
Runtime.getRuntime().exec("tar -xvf "+ fileName + ".tar");
System.out.println(" Extract:tar -xvf "+ fileName + ".tar");
问题描述:
当我运行批处理程序时,它不能(完全)工作。只有 gunzip 命令有效,将我的 fileName.tar.gz 转换为 fileName.tar。但是 untar 命令似乎没有做任何事情,而且我的日志或 Unix 控制台中没有错误或异常。
当我在 Unix 提示符下运行相同的命令时,它们运行良好。
注意事项:
- 执行路径是正确的,因为它将我的 *.tar.gz 转换为 *.tar
- 我无法使用“tar -zxvf fileName.tar.gz”,因为属性“z”在我的系统上不起作用。
- 没有抛出错误或异常。
请帮忙。
【问题讨论】:
-
您确定您的“文件名”变量是“x98_dms_12.tar.gz”吗?因为如果是这样,您最终会得到以下命令 -
gunzip x98_dms_12.tar.gz.tar.gz. -
打印出这个命令的输出和错误put流
-
对不起,我的文件名是 x98_dms_12。我在执行 gunzip 语句时连接它。