案例 文件压缩、文件夹压缩、设置密码、AES设置密码

代码:

package com.jc.test;

import java.io.File;
import java.util.ArrayList;

import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;

/**
 * 压缩、加密文件(夹)
 * @author wang-xiaoming
 * 参考:https://www.iteye.com/blog/rensanning-1836727
 *
 */
@SuppressWarnings("unchecked")
public class TestZip4j {
    @SuppressWarnings("rawtypes")
    static ArrayList filesToAdd = new ArrayList<>();
    
    static{
        filesToAdd.add(new File("E:\\ZipTest\\jbpm.xml"));  
        filesToAdd.add(new File("E:\\ZipTest\\测试.txt"));  
        filesToAdd.add(new File("E:\\ZipTest\\开发代码检查规范.docx"));  
        filesToAdd.add(new File("E:\\ZipTest\\生命树.jpg"));  
        filesToAdd.add(new File("E:\\ZipTest\\主页.htm"));
    }
    
    /**
     * 文件压缩
     * @throws ZipException
     */
    public static void zipFile() throws ZipException{
        ZipFile zipFile = new ZipFile("E:\\ZipTest\\文件压缩一.zip");  
          
        ZipParameters parameters = new ZipParameters();  
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);  
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);   
          
        zipFile.addFiles(filesToAdd, parameters);
    }
    
    /**
     * 文件夹压缩
     * @throws ZipException
     */
    public static void zipFolder() throws ZipException{
        ZipFile zipFile = new ZipFile("E:\\ZipTest\\文件夹压缩二.zip");
        
        String folderToAdd = "E:\\ZipTest";
        
        ZipParameters parameters = new ZipParameters();
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);  
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
        
        zipFile.addFolder(folderToAdd, parameters);
    }
    
    /**
     * 设置密码
     * @throws ZipException
     */
    public static void setPwd() throws ZipException{
        ZipFile zipFile = new ZipFile("E:\\ZipTest\\设置密码压缩三.zip");  
          
        ZipParameters parameters = new ZipParameters();  
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);  
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);   
          
        parameters.setEncryptFiles(true);
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
        parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
        parameters.setPassword("test3356!");
        
        zipFile.addFiles(filesToAdd, parameters);
    }
    
    /**
     * aes设置密码
     * @throws ZipException
     */
    public static void setPwd2() throws ZipException{
        ZipFile zipFile = new ZipFile("E:\\ZipTest\\aes设置密码压缩四.zip");  
          
        ZipParameters parameters = new ZipParameters();  
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);  
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);   
          
        parameters.setEncryptFiles(true);
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
        parameters.setPassword("test3356!");
        
        zipFile.addFiles(filesToAdd, parameters);
    }
    
    public static void main(String[] args) throws ZipException {
        zipFile();
        zipFolder();
        setPwd();
        setPwd2();
    }
}

 结果:

 

posted @ 2020-03-17 09:23  王晓鸣  阅读(357)  评论(1)    收藏  举报