java 7zip解压_Apache Commons Compress介绍-JAVA压缩解压7z文件

本文介绍了如何使用Apache Commons Compress库在Java中处理7z压缩文件,包括查看7z文件内容、解压全部或特定文件、解压内存中的文件以及解压分卷7z文件的方法。此外,还提到了压缩7z文件的实现和注意事项。
摘要由CSDN通过智能技术生成

7zip(下面简称7z)是由Igor Pavlov所开发的一种压缩格式,主要使用的压缩算法是LZMA/LZMA2。7z是一种压缩比非常高的格式,这与其压缩算法LZMA有直接关系,所以很多大文件都是用7z进行压缩的,比如游戏之类;高压缩比并非只有好处,就是7z的压缩速度非常慢(解压速度尚可)-当然,所有压缩算法都类似:高压缩比往往是解压速度慢,这实际上可以理解为CPU与内存/硬盘之间的trade off,后面我会详细聊一下压缩背后的原理与算法。

Commons Compress是少数支持7z压缩/解压的JAVA库(据我所知除了Commons Compress就只有XZ Utils了),其API也相对友好。

与zip格式不同,commons compress在解压7z时只提供了SevenZFile类,并未提供SevenZInputStream进行逐个解压的接口,这与7z文件的格式、算法都有关系,这里不再展开说明了。

好了,废话不多说,我们进入主题:

查看7z中的所有文件

我们可以通过sevenZFile.getEntries()查看7z中的所有文件,包括文件名等属性都可以在SevenZArchiveEntry中查看。相关代码如下:

SevenZFile sevenZFile = new SevenZFile(new File("/root/test.7zip"));

final Iterable entries = sevenZFile.getEntries();

for (SevenZArchiveEntry entry : entries) {

System.out.println(entry.getName());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值