package hrhx.dhm.zip4j.util;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.FileHeader;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;
public class Zip4jUtil {
/**
* 压缩文件
* @param fileToAdd 文件压缩路径
* @param files 被压缩的文件路径
* @throws ZipException
*/
public static void zipFile(String fileToAdd,String files[]) throws ZipException{
//文件压缩路径
ZipFile zipFile = new ZipFile(fileToAdd);
//被压缩的文件路径
ArrayList<File> filesToAdd = new ArrayList<File>();
for(String f:files){
filesToAdd.add(new File(f));
}
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.addFiles(filesToAdd, parameters);
}
/**
* 压缩文件-加密
* @param fileToAdd 文件压缩路径
* @param files 被压缩的文件路径
* @param password 密码
* @throws ZipException
*/
public static void zipFile(String fileToAdd,String files[],String password) throws ZipException{
//文件压缩路径
ZipFile zipFile = new ZipFile(fileToAdd);
//被压缩的文件路径
ArrayList<File> filesToAdd = new ArrayList<File>();
for(String f:files){
filesToAdd.add(new File(f));
}
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Set password
parameters.setEncryptFiles(true);
//--标准
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
//--AES
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
parameters.setPassword(password);
zipFile.addFiles(filesToAdd, parameters);
}
/**
* 压缩文件夹
* @param folderToAdd
* @param dirs
* @throws ZipException
*/
public static void zipDir(String folderToAdd,String dirs) throws ZipException{
ZipFile zipFile = new ZipFile(folderToAdd);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.addFolder(dirs, parameters);
}
/**
* 压缩文件夹-加密
* @param folderToAdd
* @param dirs
* @throws ZipException
*/
public static void zipDir(String folderToAdd,String dirs,String password) throws ZipException{
ZipFile zipFile = new ZipFile(folderToAdd);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Set password
parameters.setEncryptFiles(true);
//--标准
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
//--AES
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
parameters.setPassword(password);
zipFile.addFolder(dirs, parameters);
}
/**
* 压缩文件列表
* @param folderToAdd
* @throws ZipException
*/
@SuppressWarnings("unchecked")
public static void zipShowList(String folderToAdd) throws ZipException{
ZipFile zipFile = new ZipFile(folderToAdd);
List<FileHeader> fileHeaderList = zipFile.getFileHeaders();
for (int i = 0; i < fileHeaderList.size(); i++) {
FileHeader fileHeader = (FileHeader)fileHeaderList.get(i);
System.out.println("****File Details for: " + fileHeader.getFileName() + "*****");
System.out.println("Name: " + fileHeader.getFileName());
System.out.println("Compressed Size: " + fileHeader.getCompressedSize());
System.out.println("Uncompressed Size: " + fileHeader.getUncompressedSize());
System.out.println("CRC: " + fileHeader.getCrc32());
System.out.println("************************************************************");
}
}
/**
* 解压zip
* @param folderOutAdd
* @param dir
* @throws ZipException
*/
public static void unzip(String folderOutAdd,String dir) throws ZipException{
ZipFile zipFile = new ZipFile(folderOutAdd);
zipFile.extractAll(dir);
}
/**
* 解压带密码的zip
* @param folderOutAdd
* @param dir
* @param password
* @throws ZipException
*/
public static void unzip(String folderOutAdd,String dir,String password) throws ZipException{
ZipFile zipFile = new ZipFile(folderOutAdd);
if (zipFile.isEncrypted()) {
zipFile.setPassword(password);
}
zipFile.extractAll(dir);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
Pinyin4jUtil 验证姓名与拼音是否一致,自持多音字。 /** * 汉字转换位汉语全拼,英文字符不变,特殊字符丢失 * 支持多音字,生成方式如(重当参:zhongdangcen,zhongdangcan,chongdangcen * ,...
修复转换BUGv1.1.41.[BUG] FileUtil 修复获取文件名和后缀名方法参数非存在的文件或目录抛出异常2.[ADDED] FileUtil 添加创建文件目录存在是否跳过控制3.[ADDED] FileUtil 添加获取与系统文件分隔符统一的路径4....
CompressStringUtil压缩字符串与解压缩字符串 DESUtil加解密 DigestUtil加解密 Dimension2CodeUtil二维码生成与解析 Md5Util加解密 Pinyin4jUtil中文转拼音、中文转拼音首字母、中文转字节序列 PwdUtils生成4-32位的...
资源来自pypi官网。 资源全名:django-jutil-3.7.13.tar.gz
web 项目中的各种工具类 Bean2MapUtil 实体bean的数据转到map中 ...Pinyin4jUtil 提取汉字拼音的工具 StringUtil 字符转换类 UploadQueue 文件上传队列 UUIDGenerator UUID工具 XmlUtils XML读写工具
里面含有多个版本,支持新老jdk,方便易用,适合项目中开发使用.
在 eclipse 中导入解压缩的工程文件夹,修改配置文件:neo4j-cfg.properties。以 java application 模式运行 Neo4jUtil.java 即可。 测试环境信息: Neo4j Version: 3.5.13 jdk-1.8.0 eclipse jee oxygen 1a
朱蒂尔 Java的常用工具类包括Excel导入,正则表达式验证,图片处理,Http请求等,导入到nexus仓库豪华套餐,无需下载源码,添加maven依赖即可使用 欢迎各位踊跃提问题,用得...更多扩展除工具提供的校验类外,您还可以
jutil :从命令行戳入JSON 从命令行对JSON API进行了大量测试吗? 对结构化数据不加思索地侮辱了? 手指因打字而疼痛| python -mjson.tool | python -mjson.tool吗? 希望C 0 L O,[R S' 好吧, jutil (可能)...
把log4j的jar放入工程下,直接调用Log4jUtil下面的静态方法就可以了。
修改配置文件:neo4jCfg.py 测试接口: python neo4jUtil.py 执行查询: python querySQL.py -i ./query.sql 测试环境信息: Neo4j Version: 3.5.13 Python Vsersion: 2.7.5 neo4j for python version: ...
资源来自pypi官网。 资源全名:django-jutil-2.4.3.tar.gz
资源来自pypi官网。 资源全名:django-jutil-3.0.8.tar.gz
总包 博文链接:https://uule.iteye.com/blog/2089867
jutil8 一组有用的 java8 类和函数。它大量使用 lambda 类型和泛型,并提供可在各种情况下通用的函数。目的是为了减少对具体操作的不必要描述,并整齐地组织代码。 功能 目前可用的功能有: ArrayUtil 类 一个实用...
Log4jUtil.error("IP地址信息文件格式有错误,IP显示功能将无法使用", e); ipFile = null; } } } /** * @return 单一实例 */ public static IPSeeker getInstance(String wryIPURL) {...
#Java Utils 封装了一些常用Java操作方法,便于重复开发利用。
通过modbus协议读取和写入寄存器数据java详细demo,如果是modbus TCP只需要看com.rib.cdm.utils.ModbusTcpUtils这个类就行了,这个类是详细的读取以及写入demo。如果需要modbus RTU,那么只需要看...
pinyin4j-2.5.0.jar PinYin4jUtils.java PinYin4jUtils.java