java解压tar.gz_java中解压tar.gz文件

1、maven 中引入 apache 解压 / 压缩 工具类

org.apache.commons

commons-compress

1.20

2、代码中使用

(1)将 tar.gz 转换为 tar

(2)解压 tar

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

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

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

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

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import org.springframework.stereotype.Service;

import org.springframework.util.CollectionUtils;

import org.xml.sax.EntityResolver;

import org.xml.sax.InputSource;

import org.xml.sax.SAXException;

// tar.gz 文件路径

String sourcePath = "D:\\daleyzou.tar.gz";

// 要解压到的目录

String extractPath = "D:\\test\\daleyzou";

File sourceFile = new File(sourcePath);

// decompressing *.tar.gz files to tar

TarArchiveInputStream fin = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream(sourceFile)));

File extraceFolder = new File(extractPath);

TarArchiveEntry entry;

// 将 tar 文件解压到 extractPath 目录下

while ((entry = fin.getNextTarEntry()) != null) {

if (entry.isDirectory()) {

continue;

}

File curfile = new File(extraceFolder, entry.getName());

File parent = curfile.getParentFile();

if (!parent.exists()) {

parent.mkdirs();

}

// 将文件写出到解压的目录

IOUtils.copy(fin, new FileOutputStream(curfile));

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值