使用Java压缩文件,有时会遇到给压缩文件设置密码的需求,可以使用开源库Zip4j 来完成此功能,它采用纯java实现,使用方便,来看看如何使用。
Maven依赖
<!-- --><dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>1.3.2</version></dependency>CreatePasswordProtectedZipExample.java
/**
* 压缩文件并设置密码
* @Auothor wzx
* @Date 2017/3/12 0012
*/publicclassCreatePasswordProtectedZipExample {@Testpublicvoidtest() {
try {
//创建压缩文件
ZipFile zipFile = new ZipFile("D:/test.zip");
ArrayList<File> files = new ArrayList<>();
files.add(new File("D:/txt1.txt"));
files.add(new File("D:/txt2.txt"));
//设置压缩文件参数
ZipParameters parameters = new ZipParameters();
//设置压缩方法
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
//设置压缩级别//DEFLATE_LEVEL_FASTEST - Lowest compression level but higher speed of compression//DEFLATE_LEVEL_FAST - Low compression level but higher speed of compression//DEFLATE_LEVEL_NORMAL - Optimal balance between compression level/speed//DEFLATE_LEVEL_MAXIMUM - High compression level with a compromise of speed//DEFLATE_LEVEL_ULTRA - Highest compression level but low speed
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
//设置压缩文件加密
parameters.setEncryptFiles(true);
//设置加密方法
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
//设置aes加密强度
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
//设置密码
parameters.setPassword("wzx");
//添加文件到压缩文件
zipFile.addFiles(files, parameters);
} catch (ZipException e) {
e.printStackTrace();
}
}
}如上,使用起来很方便!
参考


发布评论