首页 > 编程语言 > 详细

java中解压tar.gz文件

时间:2021-05-20 00:24:30      阅读:17      评论:0      收藏:0      [点我收藏+]

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

<dependency>

  <groupId>org.apache.commons</groupId>

  <artifactId>commons-compress</artifactId>

  <version>1.9</version>

</dependency>

 

2、代码中使用

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;

 

/**

*// tar.gz 文件路径 String sourcePath = "D:\\daleyzou.tar.gz";

*// 要解压到的目录 String extractPath = "D:\\test\\daleyzou";

*/

public static void extar(String sourcePath ,String extractPath ){

  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));

  }

}

java中解压tar.gz文件

原文:https://www.cnblogs.com/cjl-lhj/p/14786238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!