七叶笔记 » java编程 » Java对zip,rar,7z文件带密码解压实例详解

Java对zip,rar,7z文件带密码解压实例详解

前言

在一些日常业务中,会遇到一些琐碎文件需要统一打包到一个压缩包中上传,业务方在后台接收到压缩包后自行解压,然后解析相应文件。而且可能涉及安全保密,因此会在压缩时带上密码,要求后台业务可以指定密码进行解压。

应用环境说明:jdk1.8,maven3.x,需要基于java语言实现对zip、rar、7z等常见压缩包的解压工作。

首先关于zip和rar、7z等压缩工具和压缩算法就不在此赘述,下面通过一个数据对比,使用上述三种不同的压缩算法,采用默认的压缩方式,看到压缩的文件大小如下:

转换成图表看得更直观,如下图:

从以上图表可以看到,7z的压缩率是最高,而zip压缩率比较低,rar比zip稍微好点。单纯从压缩率看,7z>rar4>rar5>zip。

实现代码

下面具体说明在java中如何进行相应解压:

1、pom.xml

主要依赖的jar包有:zip4j、sevenzipjbinding等。

2、zip解压

3、rar解压

4、7z解压

5、解压统一入口封装

6、测试代码

在控制台中可以看到以下结果:

总结:本文采用java语言实现了对zip和rar、7z文件的解压统一算法。并对比了相应的解压速度,支持传入密码进行在线解压。

本文参考代码在补充内容里,不过代码直接运行有问题,这里进行了调整,主要优化的点如下:

1、pom.xml 遗漏了slf4j、commons-lang3、xdocreport等依赖

2、zip路径优化

3、去掉一些无用信息

4、优化异常信息

补充

1.maven引用

2.实现代码如下

以上就是Java对zip,rar,7z文件带密码解压实例详解的详细内容,更多关于Java文件带密码解压的资料请关注七叶笔记其它相关文章!

相关文章