java調用winrar解壓文件[rar.bz2.zip.....]
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; }
}</pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!