使用zip4j加密和解密文件和目录
发布时间:2020-05-25 15:57:49 所属栏目:Java 来源:互联网
导读:使用zip4j加密和解密文件和目录
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 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:testsrc.zip.
* 2某个目录:D:testsrc
* @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;
}
}
}
然后看测试类: package com.ilucky.zip4j.util;
/**
* @author IluckySi
* @since 20150723
*/
public class MainTest {
public static void main(String[] args) {
//加密.
Zip4jUtil zip4jUtil = new Zip4jUtil();
zip4jUtil.setSrcPath("D:testsrc.zip");
zip4jUtil.setDstPath("D:testdst.zip");
zip4jUtil.setPassword("123");
zip4jUtil.encrypt();
//解密.
zip4jUtil.setSrcPath("D:testdst.zip");
zip4jUtil.setDstPath("D:test");
zip4jUtil.setPassword("123");
//zip4jUtil.decrypt();
}
}
最后看pom文件: <dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
来自:http://blog.csdn.net/sidongxue2/article/details/47026909 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
