一、安裝支持庫
yum install -y gcc gcc-c++ autoconf wget
二、安裝RAR
1.下載rar源碼包
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
2.解壓安裝
tar -zxvf rarlinux-x64-5.3.0.tar.gz cd rar make && make install /bin/cp -f rar_static /usr/local/bin/rar && /bin/cp -f rar_static /usr/local/bin/unrar cd .. rm -rf rar
三、簡單使用
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
四、Java調用解壓命令源碼
/** * RAR 5.0以上調用命令解壓 * @author liuyazhuang * */ public class RarToFile { /* * cmd 壓縮與解壓縮命令 */ private static String rarCmd = "rar a "; private static String unrarCmd = "rar x "; /** * 將1個文件壓縮成RAR格式 * rarName 壓縮后的壓縮文件名(不包含后綴) * fileName 需要壓縮的文件名(必須包含路徑) * destDir 壓縮后的壓縮文件存放路徑 */ public static void RARFile(String rarName, String fileName, String destDir) { rarCmd += destDir + rarName + ".rar " + fileName; try { Runtime rt = Runtime.getRuntime(); Process p = rt.exec(rarCmd); }catch(Exception e) { System.out.println(e.getMessage()); } } /** * 將1個RAR文件解壓 * rarFileName 需要解壓的RAR文件(必須包含路徑信息以及后綴) * destDir 解壓后的文件放置目錄 */ public static void unRARFile(String rarFileName, String destDir) { unrarCmd += rarFileName + " " + destDir; try { Runtime rt = Runtime.getRuntime(); Process p = rt.exec(unrarCmd); } catch (Exception e) { System.out.println(e.getMessage()); } } }
如果上述Java源碼在運行的時候出現異常,則可參考如下Java代碼調用解壓命令解壓
public void executeNewFlow() { Runtime run = Runtime.getRuntime(); File wd = new File("/bin"); System.out.println(wd); Process proc = null; try { proc = run.exec("/bin/bash", null, wd); } catch (IOException e) { e.printStackTrace(); } if (proc != null) { BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true); out.println("cd /home/test"); out.println("rar x test.rar"); out.println("exit");//這個命令必須執行,否則in流不結束。 try { String line; while ((line = in.readLine()) != null) { System.out.println(line); } proc.waitFor(); in.close(); out.close(); proc.destroy(); } catch (Exception e) { e.printStackTrace(); } } }
rar -y x -p123456 test.rar 解壓帶密碼的rar文件
-y表示安靜模式
x表示解壓
-p后面表示這個壓縮文件的密碼