1. 程式人生 > >Java程式碼中解壓RAR檔案

Java程式碼中解壓RAR檔案

  1. import java.io.File;  
  2. import java.io.FileOutputStream;  
  3. import de.innosystec.unrar.Archive;  
  4. import de.innosystec.unrar.rarfile.FileHeader;  
  5. public class UnRARTools {  
  6.     public void unrar(File sourceRar, File destDir) throws Exception {  
  7.         Archive archive = null;  
  8.         FileOutputStream fos = null;  
  9.         System.out.println("Starting...");  
  10.         try {  
  11.             archive = new Archive(sourceRar);  
  12.             FileHeader fh = archive.nextFileHeader();  
  13.             int count = 0;  
  14.             File destFileName = null;  
  15.             while (fh != null) {  
  16.                 System.out.println((++count) + ") " + fh.getFileNameString());  
  17.                 String compressFileName = fh.getFileNameString().trim();  
  18.                 destFileName = new File(destDir.getAbsolutePath() + "/" + compressFileName);  
  19.                 if (fh.isDirectory()) {  
  20.                     if (!destFileName.exists()) {  
  21.                         destFileName.mkdirs();  
  22.                     }  
  23.                     fh = archive.nextFileHeader();  
  24.                     continue;  
  25.                 }   
  26.                 if (!destFileName.getParentFile().exists()) {  
  27.                     destFileName.getParentFile().mkdirs();  
  28.                 }  
  29.                 fos = new FileOutputStream(destFileName);  
  30.                 archive.extractFile(fh, fos);  
  31.                 fos.close();  
  32.                 fos = null;  
  33.                 fh = archive.nextFileHeader();  
  34.             }  
  35.             archive.close();  
  36.             archive = null;  
  37.             System.out.println("Finished !");  
  38.         } catch (Exception e) {  
  39.             throw e;  
  40.         } finally {  
  41.             if (fos != null) {  
  42.                 try {  
  43.                     fos.close();  
  44.                     fos = null;  
  45.                 } catch (Exception e) {  
  46.                     //ignore  
  47.                 }  
  48.             }  
  49.             if (archive != null) {  
  50.                 try {  
  51.                     archive.close();  
  52.                     archive = null;  
  53.                 } catch (Exception e) {  
  54.                     //ignore  
  55.                 }  
  56.             }  
  57.         }  
  58.     }  
  59. }  

需要引用到以下兩個lib.
java-unrar-0.5.jar
http://www.java2s.com/Code/JarDownload/java/java-unrar-0.5.jar.zip
apache-commons-logging.jar
http://www.java2s.com/Code/JarDownload/apache-commons/apache-commons-logging.jar.zip

相關推薦

Java程式碼RAR檔案

import java.io.File;   import java.io.FileOutputStream;   import de.innosystec.unrar.Archive;   import de.innosystec.unrar.rarfile.FileHeader;   public

Java代碼RAR文件

tor com .get port void www pri println () [java] view plaincopy import java.io.File; import java.io.FileOutputStream; import d

Ubuntu14.04--系統rar和zip檔案的方法

大家在以前的windows系統中會存有很多rar和zip格式的壓縮檔案,Ubuntu系統預設情況下對這些檔案的支援不是很好,如果直接用"歸檔管理器"開啟會提示錯誤,因此今天跟大家分享一下如何在Ubuntu中解壓這兩種格式的壓縮檔案;   我們需要安裝兩款軟體:1、

Ubunturar檔案"Parsing filters unsupported"錯誤提示

Ubuntu解壓rar檔案”Parsing filters unsupported”錯誤提示 Linux下解壓rar格式檔案會出現“Parsing filters unsupported”這樣的錯誤,原因是Linux版本預設不支援rar商業/非自由格式。要解決這個問題只需要安裝unrar

Linux rar檔案

1.應用場景 需要解壓rar檔案 2.解決辦法 下載地址:https://rarlab.com/rar/rarlinux-x64-5.6.1b1.tar.gz 直接點選連結即可下載,linux 環境下wget 即可 tar -xvf rarlinux-x64-5.6.1b1.

centos rar檔案

首先需要下載解壓該檔案的工具 下載 下載自己的版本,下邊以64位的為例: wget http://www.rarlab.com/rar/rarlinux-x64-5.6.1.tar.gz 解壓 到資料夾/usr/local/rar5.6.1.tar.gz mkd

Linuxrar檔案

1.下載工具 wget -c https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 2.解壓和安裝rar工具 tar -xzvf rarlinux-x64-5.5.0.tar.gz #加壓後生產rar目錄

Linuxzip檔案

先安裝unzip(命令安裝方式) [[email protected] ~]# yum install unzip 中間出現一次選擇 現在就可以使用了 解壓命令: unzip 檔名 zip -d myfile.zip smart.txt 刪除壓縮檔案

Mac Terminal菜鳥篇之使用unrarrar檔案

在Mac上的歸檔工具不能夠解壓rar檔案,這時可以使用終端中的unrar來解決問題。 步驟如下: 1.使用Homebrew安裝unrar(有關Homebrew的安裝和使用見Homebrew) $ b

ubuntu 的使用 —— rar 檔案(unrar 的安裝與使用)

下載相關包: sudo apt-get install -f # 如果直接 install unrar 出錯的話 sudo apt-get install unrar 相關解壓命令: man unrar e Extract files to

linux下rar檔案的軟體安裝和解命令

一般linux放出來的壓縮包都是tar格式的,但是我們自己在壓縮一些本地檔案的時候,多數都是用的rar格式。那麼這個我們上傳到linux的伺服器上面,就不能直接用命令解壓了。因為linux預設是不支援的rar格式解壓的,所以我們得先安裝rar的軟體。(rar軟體對系統版本有要

Java合併多省話單gz大檔案程式碼涉及、合併、刪除、複製邏輯

專案要求是能定時解壓gz檔案,並按照省將檔案成一個大檔案,程式碼實現功能:按照gz壓縮包的路徑格式解壓檔案,最後將檔案合併成按照省份名稱排放的大檔案,專案用log4j記錄日誌,用Java定時器實現定時解壓合併,並且刪除解壓出來的小檔案,同時也刪除解壓目錄下的壓縮包,並將壓縮

C#壓縮或(rar和zip檔案)

為了便於檔案在網路中的傳輸和儲存,通常將檔案進行壓縮操作,常用的壓縮格式有rar、zip和7z,本文將介紹在C#中如何對這幾種型別的檔案進行壓縮和解壓,並提供一些在C#中解壓縮檔案的開源庫。 在C#.NET中壓縮解壓rar檔案 rar格式是一種具有專利檔案的壓縮格式,是一種商業壓縮格式,不開

Linux下rar格式檔案

首先:rar檔案與zip tar.gz等等開源壓縮檔案是不一樣的,rar型別的壓縮協議是不開源的,所以linux系統自身是沒有安裝rar的解壓工具的,所以我們需要自己下載rar工具,注:由於rar型別並不可以,理論上是要收費的,所以我們在往伺服器上傳檔案時,儘量避免使用rar

Java 複製zip檔案到指定目錄並zip檔案

過程中使用apache的ant jar包 apache-ant-1.8.2.jar  示例程式碼如下: import org.apache.log4j.Logger; import java.io.File; import java.io.IOException;

Java程式碼如何通過 http來上傳檔案

例子程式碼如下 package example.filetransfer; import java.io.*; import java.net.*; import java.util.*; public class HttpRequestUtil { /** * 傳送ge

Linux使用gzip來壓縮/ *.gz檔案

gzip 是linux中常見的壓縮/解壓工具,最常見的使用物件是*.gz格式的檔案,這裡簡單介紹下它最常見的用法, GZIP(1) General Commands Manual GZIP(1)NAME      gzip, gunzip, zcat - compress

使用javaGZip檔案

Java中有可以直接解壓gzip檔案的輸入流。 /** * 獲取檔名(去掉.gz字尾) * @param path * @return */ public static String getPrefix(String path) {

ubuntu12.04 rar壓縮檔案問題

ubuntu12.04預設情況下是不支援rar格式的壓縮檔案的。 但是我們常用的很多檔案都以rar的壓縮格式存放著。所以為了 更好的使用ubuntu我們就需要自己新增一些外掛了。 首先安裝unrar 在Shell中輸入 apt-get   install  unrar  

Spring配置 在xml和java程式碼讀取properties檔案

在spring引入屬性檔案 <bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">