欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

使用zip4j加密和解密文件和目录,zip4j加密和解目录,闲话少说,直接看工具类:

来源: javaer 分享于  点击 13408 次 点评:288

使用zip4j加密和解密文件和目录,zip4j加密和解目录,闲话少说,直接看工具类:


闲话少说,直接看工具类:

package com.ilucky.zip4j.util;import java.io.File;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 IluckySi * @since 20150723 */public class Zip4jUtil {    private String srcPath;    private String dstPath;    private String password = "123456";    public String getSrcPath() {        return srcPath;    }    public void setSrcPath(String srcPath) {        this.srcPath = srcPath;    }    public String getDstPath() {        return dstPath;    }    public void setDstPath(String dstPath) {        this.dstPath = dstPath;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    /**     * 加密     * 支持将某个文件或某个目录下所有的文件加密.     * 1.某个文件:D:\\test\\src.zip.     * 2某个目录:D:\\test\\src     * @return boolean     */    public boolean encrypt() {        try {            if(!new File(srcPath).exists()) {                System.out.println("源路径不存在 "+srcPath);                return false;            }            ZipParameters parameters = new ZipParameters();              parameters.setEncryptFiles(true);              parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);              parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);              parameters.setPassword(password.toCharArray());              File srcFile = new File(srcPath);            ZipFile destFile = new ZipFile(dstPath);              if(srcFile.isDirectory()) {                 destFile.addFolder(srcFile, parameters);              } else {                destFile.addFile(srcFile, parameters);             }            System.out.println("成功加密文件");            return true;        } catch (Exception e) {            System.out.println("加密文件发生异常:"+e);            return false;        }    }    /**     * 解密     * 支持将某个加密文件解压缩到某个指定目录下面.     * @return boolean     */    public boolean decrypt() {         try {             if(!new File(srcPath).exists()) {                 System.out.println("源路径不存在 "+srcPath);                return false;             }             ZipFile srcFile = new ZipFile(srcPath);               srcFile.setFileNameCharset("GBK");               srcFile.setPassword(password.toCharArray());               srcFile.extractAll(dstPath);             System.out.println("成功解密文件");             return true;        } catch (ZipException e) {            System.out.println("解密文件发生异常:"+e);            return false;        }    }}

然后看测试类:```javapackage com.ilucky.zip4j.util;

/* * @author IluckySi * @since 20150723 /public class MainTest {

public static void main(String[] args) {     //加密.    Zip4jUtil zip4jUtil  = new Zip4jUtil();    zip4jUtil.setSrcPath("D:\\test\\src.zip");    zip4jUtil.setDstPath("D:\\test\\dst.zip");    zip4jUtil.setPassword("123");    zip4jUtil.encrypt();    //解密.    zip4jUtil.setSrcPath("D:\\test\\dst.zip");    zip4jUtil.setDstPath("D:\\test\\");    zip4jUtil.setPassword("123");    //zip4jUtil.decrypt();}

}

最后看pom文件:```xml <dependency>        <groupId>net.lingala.zip4j</groupId>        <artifactId>zip4j</artifactId>        <version>1.3.2</version>    </dependency>

来自:http://blog.csdn.net/sidongxue2/article/details/47026909

相关栏目:

用户点评