package com.czp;
import java.io.File;
import java.util.Properties;
public class UnRarFile {
public static void main(String[] args) {
UnRarFile unrar = new UnRarFile();
unrar.unRarFileCurDir(new File("d:/ftpd/pm/test/*.bz2"));
}
/**
* 解壓文件
*
* @param target
* @param oldFile
*/
public void unRarFile(File target, File oldFile) {
try {
if (isWindow()) {
String path = target.getParentFile().getAbsolutePath();
File tmp = target.getParentFile();
if (path.charAt(path.length() - 1) != ((char) File.separatorChar)) {
tmp = new File(path + File.separator);
if (!tmp.exists())
tmp.mkdirs();
}
String cmd2 = "C:\\Program Files\\WinRAR\\winrar.exe x -r -o+ -ibck -y "
+ oldFile + " *.* " + tmp;
Runtime rt = Runtime.getRuntime();
Process pre = rt.exec(cmd2);
if (0 != pre.waitFor()) {
pre.destroy();
}
rt.runFinalization();
System.out.println(cmd2);
} else {
System.out.println("can't get rar command abort");
}
} catch (Exception e) {
System.out.println("解壓發生異常");
}
}
/**
* 解壓到當前目錄
*
* @param filePath
*/
public void unRarFileCurDir(File filePath) {
unRarFile(filePath, filePath);
}
/**
* 是否是window
*
* @return
*/
public boolean isWindow() {
Properties properties = System.getProperties();
String os = properties.getProperty("os.name");
if (os != null && os.contains("Windows"))
return true;
return false;
}
}
java調用winrar解壓文件[rar.bz2.zip.....]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.