STACKJAVA

Code ví dụ java giải nén file rar (decompress file rar)

Code ví dụ java giải nén file rar (decompress file rar)

(Xem thêm: Sự khác nhau giữa định dạng file zip và rar)

(Xem thêm: Code ví dụ java giải nén file zip)

File .rar là gì?

Rar (Roshal Archive) là định dạng một kiểu file nén với đuôi mở rộng là .rar

Rar là một định dạng file nén độc quyền do đó ta chỉ có thể đọc và giải nén file rar chứ không có thư viện nào hỗ trợ ghi file, nén file dạng rar.

Code ví dụ java giải nén file .rar

Để giải nén file định dạng .rar mình dùng thư viện Junrar

Để sử dụng thư viện Junrar các bạn thể thể download file .jar tại đây.

Hoặc sử dụng maven để import thư viện Junrar:

<dependency>
    <groupId>com.github.junrar</groupId>
    <artifactId>junrar</artifactId>
    <version>3.1.0</version>
</dependency>

Hoặc Gradle:

compile group: 'com.github.junrar', name: 'junrar', version: '3.1.0'

Mình recomend là nên dùng các trình quản lý thư viện như maven chứ không nên dùng file .jar bởi có thể thư viện nó sẽ yêu cầu thêm một số thư viện khác mà ta không biết. Ví dụ khi sử dụng Junrar nó yêu cầu thêm cả thư viện common-logging, nếu dùng maven thì nó sẽ tự động import luôn cả thư viện này giúp ta.

Để giải nén file .rar ta dùng hàm Junrar.extract() với 2 tham số là file .rar và thư mục được giải nén:

Ví dụ:

package stackjava.com.junrar.example;

import java.io.File;
import java.io.IOException;

import com.github.junrar.Junrar;
import com.github.junrar.exception.RarException;

public class DemoUnrar {
  public static void main(String[] args) throws RarException, IOException {
    final File rar = new File("D:/stackjava/a.rar");
    final File destinationFolder = new File("D:/stackjava");
    Junrar.extract(rar, destinationFolder);
  }
}

Kết quả:

File a.rar chứa file a.txt

 

Okay, Done!

Download code ví dụ trên tại đây.

 

References:

https://en.wikipedia.org/wiki/RAR_(file_format)