2010-02-24 34 views
19

Tôi có thể giải nén các tệp zip, gzip và rar, nhưng tôi cũng cần phải giải nén tệp bzip2 cũng như hủy lưu trữ chúng (.tar). Tôi đã không đi qua một thư viện tốt để sử dụng.Giải nén kho lưu trữ BZIP2

Tôi đang sử dụng Java cùng với Maven lý tưởng, tôi muốn bao gồm nó như là một phụ thuộc trong POM.

Bạn đề xuất thư viện nào?

Trả lời

35

Tùy chọn tốt nhất tôi có thể xem là Apache Commons Compress với phụ thuộc Maven này.

<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-compress</artifactId> 
    <version>1.0</version> 
</dependency> 

Từ examples:

FileInputStream in = new FileInputStream("archive.tar.bz2"); 
FileOutputStream out = new FileOutputStream("archive.tar"); 
BZip2CompressorInputStream bzIn = new BZip2CompressorInputStream(in); 
final byte[] buffer = new byte[buffersize]; 
int n = 0; 
while (-1 != (n = bzIn.read(buffer))) { 
    out.write(buffer, 0, n); 
} 
out.close(); 
bzIn.close(); 
+1

Để sao chép các con suối, bạn cũng có thể sử dụng Apache Commons IO của [IOUtils.copyLarge] (http://commons.apache.org/proper /commons-io/apidocs/org/apache/commons/io/IOUtils.html#copyLarge%28java.io.InputStream,%20java.io.OutputStream%29). – thSoft

Các vấn đề liên quan