JAVA解压缩--如何判断解压完成
在百度上找的一段解压缩rar文件的代码,如何判断压缩包已经解压完成呢?
解压完成后我还须要执行另外一些代码,比如我要获得解压出来的文件的文件名,调用这个方法后直接调用获得文件名的方法是获得不了的,因为压缩包中的文件还没解压出来当然就获得不了了。
如何才能在解压完成后,在执行其他方法呢?
Java code
/**
* 将1个RAR文件解压
* rarFileName 需要解压的RAR文件(必须包含路径信息以及后缀)
* destDir 解压后的文件放置目录
*/
public static void unRARFile(String rarFileName, String destDir) {
if (!rarFileName.toLowerCase().endsWith(".rar")) {
System.out.println("非rar文件!");
return;
}
unrarCmd +=" "+ rarFileName + " " + destDir;
try {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(unrarCmd);
} catch (Exception e) {
System.out.println("e.getMessage()="+e.getMessage());
}
}
------解决方案--------------------你的方法调用结束了,就是完成了。如果没有压缩完成,程序会一直组塞在这个方法上的:unRARFile
------解决方案--------------------给unRARFile()方法加个返回值, 懂?
------解决方案--------------------Process对象有个waitFor方法. 会使你当前进程暂停.
p.waitFor();
但是刚才在本机上用rar.exe测试的时候一直不停止了. 你可以在你的代码中加入p.waitFor()然后看看.
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
http://topic.csdn.net/u/20090216/23/f4df4a38-c72f-492e-997e-794c46b1c39e.html
这里有,
接分