zoukankan      html  css  js  c++  java
  • java 压缩文件 zip 可加密

    <dependency>
        <groupId>net.lingala.zip4j</groupId>
        <artifactId>zip4j</artifactId>
        <version>2.6.4</version>
    </dependency>
    public static void zip(File currentDir, String toFilePath, String password) throws Exception {
        // 生成的压缩文件
        ZipFile zipFile = new ZipFile(toPath);
        ZipParameters parameters = new ZipParameters();
        // 压缩方式
        parameters.setCompressionMethod(CompressionMethod.DEFLATE);
        // 压缩级别
        parameters.setCompressionLevel(CompressionLevel.NORMAL);
        // 是否设置加密文件
        parameters.setEncryptFiles(true);
        // 设置加密算法
        parameters.setEncryptionMethod(EncryptionMethod.AES);
        // 设置AES加密密钥的密钥强度
        parameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
        // 设置密码
        if(!Strings.isNullOrEmpty(password)) {
            zipFile.setPassword(password.toCharArray());
        }
    
        // 要打包的文件夹
        File[] fs = currentDir.listFiles();
    
        // 遍历test文件夹下所有的文件、文件夹
        for (File f : fList) {
            if (f.isDirectory()) {
                zipFile.addFolder(f, parameters);
            } else {
                zipFile.addFile(f, parameters);
            }
        }
    }
    public static void unzip(String zipFilePath, String toPath, String password) throws Exception {
        // 生成的压缩文件
        ZipFile zipFile = new ZipFile(zipFilePath);
        // 设置密码
        if(!Strings.isNullOrEmpty(password)) {
            zipFile.setPassword(password.toCharArray());
        }
        // 解压缩所有文件以及文件夹
        zipFile.extractAll(toPath);
    }
  • 相关阅读:
    一LWIP学习笔记之数据包管理
    智能家居的发展趋势
    break和continue的区别
    TCP与UDP区别总结
    C语言变量和函数命名规范
    常用电子元件
    php 1018
    php 1016
    mysql 应用查询 三个表(学生表,课程表,学生课程分数表) student, course, score表
    mysql 聚合函数
  • 原文地址:https://www.cnblogs.com/bevis-byf/p/14246767.html
Copyright © 2011-2022 走看看