private static String unrarCmd = "C:/Program Files/WinRAR/UnRar.exe e -r -y ";
public static void unRARFile(String rarFileName, String destDir) {
// unrarCmd += rarFileName + " " + destDir;
try {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(unrarCmd + rarFileName + " " + destDir);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
RarToFile r=new RarToFile();
RarToFile r2=new RarToFile();
r.unRARFile("F:/图片收藏.rar", "F:/");
// r2.unRARFile("F:/键盘钢琴.rar", "F:/");
}
代码用java调用正常,但是用tomcat调用就不能解压了,要把tomcat服务器重启一下,解压文件才会出来。线程一直没终止???
请问大家这个问题要怎么解决呀???
public static void unRARFile(String rarFileName, String destDir) {
// unrarCmd += rarFileName + " " + destDir;
try {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(unrarCmd + rarFileName + " " + destDir);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
RarToFile r=new RarToFile();
RarToFile r2=new RarToFile();
r.unRARFile("F:/图片收藏.rar", "F:/");
// r2.unRARFile("F:/键盘钢琴.rar", "F:/");
}
代码用java调用正常,但是用tomcat调用就不能解压了,要把tomcat服务器重启一下,解压文件才会出来。线程一直没终止???
请问大家这个问题要怎么解决呀???
应等待此句(进程)的结束,可以循环等待直至它压缩完毕才继续后续操作
private static String unrarCmd = "C:/Program Files/WinRAR/UnRar.exe e -r -y ";
参数是否传得正确
仔细看看
路径对不对
这个Runtime rt = Runtime.getRuntime();
也要看看
楼主仔细检查下
^_*