最近,在做Android项目的时候,遇到一个下载zip文件并解压的需求,对于普通的文件解压,使用OutputStream和InputStream即可完成。但是,如果需要解压时需要密码什么的,普通的流读取就不行了。最后,找了大半天,找到了一个ZIP4J的开源库,ZIP4J支持以下特性:
- Create, Add, Extract, Update, Remove files from a Zip file
- Read/Write password protected Zip files
- AES 128/256 Encryption/Decryption
- Standard Zip Encryption/Decryption
- Zip64 format
- Store (No Compression) and Deflate compression method
- Create or extract files from Split Zip files (Ex: z01, z02,…zip)
- Unicode file names
- Progress Monitor
接着,我们下载了Git上的源码,由于是Android项目,我希望将代码做成本地依赖,最直接的方式就是打包成jar包。使用IntellJ Ideal打开项目源码,接下来就是将源码编译成jar包。
首先,在项目的Maven Projects
界面,点击需要打包的项目,进行如下4步操作。
等待安装完成之后,就会在控制台输出jar的相关信息,如下图。
我们可以到对应的目录下查看生成的jar包,为了验证jar包是否成功,可以使用解压软件查看。
除此之外,我们还可以将Maven依赖转化为Gradle依赖,比如:
代码语言:javascript复制// Maven依赖
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.10.0</version>
</dependency>
//Gradle依赖
implementation("net.lingala.zip4j:zip4j:2.10.0")