最近一个项目因为某些无奈的原因被迫用http传输文件,然后万恶的网络丢包会使压缩文件打不开,这里就使用winrar来解压文件。
private String UnRarFile(String fileName) throws Exception {
// TODO Auto-generated method stub
final String rarPath = "C:\\Program Files\\WinRAR\\WinRAR.exe";
final String cmd = rarPath + " x -ibck -y " + zipFileRootPath + fileName
+ " " + zipFileRootPath + fileName.substring(0, fileName.lastIndexOf(".")) +"\\";
//System.out.println(cmd);
Process proc;
proc = Runtime.getRuntime().exec(cmd);
if (proc.waitFor() != 0) {
System.err.println("exit value = " + proc.exitValue());
}
return zipFileRootPath + fileName;
}
rarPath : winrar的路径。
fileName : 压缩文件名全称。
cmd : 批处理命令。