首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java中压缩/解压缩tar.gz文件

如何在java中压缩/解压缩tar.gz文件
EN

Stack Overflow用户
提问于 2011-08-20 06:44:44
回答 5查看 89.4K关注 0票数 51

有人能告诉我用java压缩和解压缩tar.gzip文件的正确方法吗?我一直在搜索,但我最多只能找到zip或gzip(单独)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-20 07:55:01

我最喜欢的是plexus-archiver -请参阅GitHub上的资源。

另一种选择是Apache commons-compress -(参见mvnrepository)。

使用plexus,解压代码如下所示:

代码语言:javascript
复制
final TarGZipUnArchiver ua = new TarGZipUnArchiver();
// Logging - as @Akom noted, logging is mandatory in newer versions, so you can use a code like this to configure it:
ConsoleLoggerManager manager = new ConsoleLoggerManager();
manager.initialize();
ua.enableLogging(manager.getLoggerForComponent("bla"));
// -- end of logging part
ua.setSourceFile(sourceFile);
destDir.mkdirs();
ua.setDestDirectory(destDir);
ua.extract();

类似的*Archiver类也用于归档。

在Maven中,您可以使用此dependency

代码语言:javascript
复制
<dependency>
  <groupId>org.codehaus.plexus</groupId>
  <artifactId>plexus-archiver</artifactId>
  <version>2.2</version>
</dependency>
票数 34
EN

Stack Overflow用户

发布于 2013-07-06 08:25:21

我已经为commons-compress编写了一个名为jarchivelib的包装器,它使得从File对象提取或压缩到and对象变得很容易。

示例代码如下所示:

代码语言:javascript
复制
File archive = new File("/home/thrau/archive.tar.gz");
File destination = new File("/home/thrau/archive/");

Archiver archiver = ArchiverFactory.createArchiver("tar", "gz");
archiver.extract(archive, destination);
票数 41
EN

Stack Overflow用户

发布于 2013-02-13 22:12:18

在我的经验中,Apache CompressPlexus Archiver成熟得多,特别是因为像http://jira.codehaus.org/browse/PLXCOMP-131这样的问题。

我相信Apache Compress也有更多的活动。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7128171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档