Java如何给压缩文件设置密码

    xiaoxiao2021-03-25  77

    使用Java压缩文件,有时会遇到给压缩文件设置密码的需求,可以使用开源库Zip4j 来完成此功能,它采用纯java实现,使用方便,来看看如何使用。

    Maven依赖

    <!-- https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j --> <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency>

    CreatePasswordProtectedZipExample.java

    /** * 压缩文件并设置密码 * @Auothor wzx * @Date 2017/3/12 0012 */ public class CreatePasswordProtectedZipExample { @Test public void test() { 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(); } } }

    如上,使用起来很方便!

    参考 http://howtodoinjava.com/core-java/io/how-to-create-password-protected-zip-files-in-java/

    转载请注明原文地址: https://ju.6miu.com/read-33978.html

    最新回复(0)