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服务器重启一下,解压文件才会出来。线程一直没终止???
请问大家这个问题要怎么解决呀???

解决方案 »

  1.   

    你是怎么用tomcat调用的啊?贴代码看一下
      

  2.   

              Process p = rt.exec(unrarCmd + rarFileName + " " + destDir);    
    应等待此句(进程)的结束,可以循环等待直至它压缩完毕才继续后续操作
      

  3.   

    Process p = rt.exec(unrarCmd + rarFileName + " " + destDir); 
    private static String unrarCmd = "C:/Program Files/WinRAR/UnRar.exe e -r -y ";    
    参数是否传得正确
    仔细看看
    路径对不对
    这个Runtime rt = Runtime.getRuntime();  
    也要看看
    楼主仔细检查下
    ^_*