java 生成zip压缩文件
1、zip压缩文件
文章目录
- java 生成zip压缩文件
- 一、引入jar包
- 二、工具类
- 1.有密码压缩
- 2.无密码压缩
- 三、示例
- 3.1、压缩前
- 3.2、调用压缩方法
- 3.3、压缩后
- 四、总结
一、引入jar包
这里使用zip4j jar包进行压缩,使用最新的2.11.1版本,可联网下载。
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.11.1</version>
</dependency>二、工具类
1.有密码压缩
代码如下(示例):
public static void zip4jWithPassword(String zipFileName, String inputPath,String password){
ZipParameters zipParameters = new ZipParameters();
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(EncryptionMethod.AES);
zipParameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
try {
new net.lingala.zip4j.ZipFile(zipFileName,password.toCharArray()).addFolder(new File(inputPath),zipParameters);
} catch (ZipException e) {
throw new RuntimeException(e);
}
}2.无密码压缩
代码如下(示例):
public static void zip4jWithNoPassword(String zipFileName, String inputPath ){
ZipParameters zipParameters = new ZipParameters();
try {
new net.lingala.zip4j.ZipFile(zipFileName).addFolder(new File(inputPath),zipParameters);
} catch (ZipException e) {
throw new RuntimeException(e);
}
}三、示例
3.1、压缩前

3.2、调用压缩方法
public class test {
public static void main(String[] args) {
String inputFile = "D:\\zip压缩";
String zipFile = "D:\\zip压缩\\测试文件.zip";
ZipUtilAdmin.zip4jWithPassword(zipFile,inputFile,"123456789");
}
}3.3、压缩后

四、总结
无密码压缩可仿照有密码压缩样例自行进行测试。zip4j jar包有多个版本,建议使用最新版本,低版本可能不支持本文写法。本文介绍的压缩方法是带目录的压缩,压缩后带一层目录,见下图:

并且本方法压缩后的路径可自行定义。
















