zip包设置密码
实现方法
使用Java压缩文件,使用开源库Zip4j 来完成此功能,它采用纯java实现给压缩文件设置密码的需求。
实现步骤
1.添加依赖
<dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency>
2.编写公共方法
/** * 压缩文件夹为zip,并设置密码 * @param srcDir 需要压缩的目录 * @param zipFile 压缩后的文件 * @param password 是否覆盖已存在文件 * @throws IOException */ public static void zipDirectory(File srcDir,ZipFile zipFile,String password){ //设置压缩文件参数 ZipParameters parameters = new ZipParameters(); //设置压缩方法 parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); //设置压缩级别 parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); //是否加密 parameters.setEncryptFiles(true); //设置密码 parameters.setPassword(password); //加密方法 parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); 设置aes加密强度 parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); //添加文件到压缩文件 zipFile.addFolder(srcDir, parameters); }
3.调用公共方法
public static void main(String[] args) throws ZipException { File srcDir=new File("C:/Users/dell/Desktop/发布加密/素材"); zipDirectory(srcDir,new ZipFile("C:/Users/dell/Desktop/发布加密/aa.zip"),"123"); }