java解压tar文件_如何基于java实现解压ZIP TAR等文件

本文介绍了如何使用Apache的common-compress工具包在Java中解压ZIP、TAR、TAR.BZ2、BZ2、TAR.GZ、GZ格式的文件。代码示例展示了具体解压过程,同时指出该工具包不支持RAR格式解压,建议使用junrar解决RAR解压问题。
摘要由CSDN通过智能技术生成

java实现对常用.ZIP , .TAR, .TAR.BZ2, .BZ2 ,.TAR.GZ ,.GZ格式文件的解压。

首先需要引入maven依赖,这里使用的是Apache的压缩工具包common-compress,改工具包支持解压、压缩,此代码中我列举出一个zip的压缩示例,其他格式的只需切换改格式对应的流即可。

对于RAR格式文件的解压,目前该工具包还不支持,希望大家做过的可以多多交流。

org.apache.commons

commons-compress

1.19

import org.apache.commons.compress.archivers.tar.TarArchiveEntry;

import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;

import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;

import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;

import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;

import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;

import org.apache.commons.compress.utils.IOUtils;

import java.io.*;

/**

* @author :zhangzhiyong

* @description: java实现常见文件格式的解压与压缩

* 支持.ZIP .TAR .TAR.BZ2 .BZ2 .TAR.GZ .GZ

* 其他格式compress包也支持,在此基础上开发即可

* 另外压缩文件只写了ZIP压缩的方法zipCompression,其他的格式类似,换成对应的文件流即可。

* 暂不支持RAR压缩格式,RAR可以用junrar的工具包,但是有缺陷:

* 其一:如果压缩文件中有中文名字的文件夹,解压以后文件夹名字是乱码,但是不影响文件夹里面的文件;

* 其二:最新 WinRar 压缩产生的 .rar 文件可能会无法解压。

* 缺陷原因:rar 有版权,有些东西没有公开,对解压有一些限制,即使其他解压包也可能有问题,但是建议尝试。

* @date :2020/7/1 20:44

*/

public class CompressionFileUtil {

/**

* @param filePath 需要解压的zip文件的完成路径。

* @param unzipPath 解压过后生成文件的存放路径

*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值