java实现文件压缩与解压
用java实现文件的压缩与解压是很常见的功能。
我最爱上代码:
1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.List; 4 5 import net.lingala.zip4j.core.ZipFile; 6 import net.lingala.zip4j.model.ZipParameters; 7 import net.lingala.zip4j.util.Zip4jConstants; 8 9 /** 10 * zip压缩文件或解压文件工具类 11 * @author xiaoming 12 * 13 */ 14 public class ZipUntil { 15 16 17 /** 18 * 压缩文件的方法 19 * @param files 要压缩文件的地址集合 20 * @param folders 要压缩的文件夹的地址集合 21 * @param pwd 压缩密码 22 * @param appointFile 压缩到指定文件夹的路径 23 * @return 24 * @throws Exception 25 */ 26 public static int compressFile(List<String> files,List<String> folders,String pwd,String appointFile) throws Exception{ 27 int flag=0; 28 if(!appointFile.isEmpty()){ 29 File oldFile=new File(appointFile); 30 if(oldFile.exists()){ 31 return flag; 32 } 33 ZipFile zipFile=new ZipFile(appointFile); 34 ZipParameters parameters = new ZipParameters(); //设置参数 35 parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); 36 parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); 37 if (!pwd.isEmpty()) {//有密码,用密码压缩 38 parameters.setEncryptFiles(true); 39 parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); 40 parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); 41 parameters.setPassword(pwd); 42 } 43 44 if(!files.isEmpty()){ 45 ArrayList<File> toAddFile=new ArrayList<File>(); 46 for(String fileString : files){ 47 File file=new File(fileString); 48 if(file.exists()){ 49 toAddFile.add(file);//添加文件 50 } 51 } 52 if(!toAddFile.isEmpty()){ 53 zipFile.addFiles(toAddFile, parameters); 54 } 55 } 56 if(!folders.isEmpty()){ 57 for(String folder : folders){ 58 File file=new File(folder); 59 if(file.exists()){ 60 zipFile.addFolder(folder, parameters);//添加文件夹 61 } 62 } 63 } 64 flag=1; 65 } 66 return flag; 67 } 68 69 70 /** 71 * 解压文件的方法 72 * @param srcFile 要解压的文件 73 * @param path 解压到的路径 74 * @param pwd 解压密码 75 * @return 76 * @throws Exception 77 */ 78 public static int unzip(String srcFile ,String path,String pwd ) throws Exception{ 79 int flag=0; 80 if(!srcFile.isEmpty()){ 81 ZipFile zipFile=new ZipFile(srcFile);//获取解压的文件 82 if(zipFile.isEncrypted()){ 83 zipFile.setPassword(pwd);//解压密码 84 } 85 zipFile.extractAll(path);//解压到指定路径 86 flag=1; 87 } 88 return flag; 89 } 90 }
以上代码基于zip4j.jar 开发的
相关包与例子下载:http://pan.baidu.com/s/1jGGOcEM
java实现文件压缩与解压相关推荐
- Java实现文件压缩与解压[zip格式,gzip格式]
原文:http://www.cnblogs.com/visec479/p/4112881.html#3069573 Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个 ...
- java 操作Zip文件(压缩、解压、加密)
java 操作Zip文件(压缩.解压.加密) 依赖:点击下载 package com.zxl.test;import net.lingala.zip4j.model.ZipParameters; im ...
- c# 文件压缩、解压及下载
C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件) C# 文件压缩与解压(ZIP格式) asp.net实现文件夹及文件压缩,并实现下载 转载于:https://www.cnblogs.co ...
- 基于哈夫曼编码完成的文件压缩及解压
这几天在较为认真的研究基于哈夫曼编码的文件压缩及解压,费了点时间,在这分享一下: 这里用链式结构,非顺序表结构: 文件压缩: 1.获取文件信息(这里采用TXT格式文本): 2.压缩文件: 3.写配置文 ...
- 7z001怎么解压在安卓手机上面_安卓zip文件压缩RAR解压手机下载-安卓zip文件压缩RAR解压v1.0最新版下载...
安卓zip文件压缩RAR解压是一款非常好用的手机压缩解压缩神器,在安卓zip文件压缩RAR解压上我们可以看到很多的实用的功能,软件可以帮助我们更好的处理我们手机中的文件,感兴趣的朋友赶紧下载安卓zip ...
- 7z文件压缩、解压 (7zTool.exe)
工具下载 压缩为7z: 调用zip()函数 7z解压缩: 调用unzip()函数 using System; using System.Collections.Generic; using Syste ...
- linux把一个大文件压缩,linux大文件压缩及解压需要注意问题
注意: 大文件压缩及解压需要在后台进行,如果要查看解压详情,就要输出重定向. 远程服务器,要防止网络断开连接,导致终端关闭,此时终端断开,即使后台进行,解压以及压缩也会停止.解决方法:在指令前加noh ...
- cordova 安卓文件多选_安卓zip文件压缩RAR解压软件下载-安卓zip文件压缩RAR解压下载v3.0.4安卓版...
安卓zip文件压缩RAR解压是一款非常好用的手机压缩解压缩神器,在安卓zip文件压缩RAR解压上我们可以看到很多的实用的功能,软件可以帮助我们更好的处理我们手机中的文件,感兴趣的朋友赶紧下载安卓zip ...
- 文件压缩、解压 (ZipTool.exe)
工具下载 压缩: 调用zip()函数. 解压缩:调用unzip()函数 添加ZipTool类至应用中,即可实现文件压缩.解压逻辑. using System; using System.Collec ...
最新文章
- 通风与防排烟工程电子书_菠菜关于防排烟系统使用软接头工程量计算注意及定额选用建议...
- 单片机at指令解析 开源_分享Github上几个开源单片机硬件驱动库
- 重写equals方法的hashcode_Java equals 和 hashCode 的这几个问题可以说明白吗?
- 对PASCAL VOC 数据集进行数据增强
- 装配图中齿轮的画法_装配图的规定画法 和特殊画法
- Angular 内容投影 content projection 的一个问题的单步调试
- codeforces 467A-C语言解题报告
- c语言编写点餐系统的图形界面,「分享」C语言如何编写图形界面
- 2014蓝桥杯C++B:啤酒和饮料;切面条(思维分析)
- 关于background的一些知识
- emos-第一章、项目前置准备
- 当前计算机技术在制图,计算机技术在《机械制图》课程中的应用
- 2021年度训练联盟热身训练赛第二场 ABCDGJ
- 【绝知此事要躬行】线性表之数组OJ
- 求个人所得税和税后收入
- 英语学习APP开发解决方案
- 什么是软文营销?为什么做软文营销?
- pip3 -bash: /usr/bin/pip3: No such file or directory
- 克服这些「学生思维」,离职场达人更进一步
- 《Kotin 极简教程》第7章 面向对象编程(OOP)(1)
热门文章
- python for语句_从零开始py个thon3:循环语句(1)
- python面试自我介绍_如何拿到半数面试公司Offer——我的Python求职之路
- 3说明书_怎么才能做好产品说明书翻译?知行翻译公司总结了3点
- 自动化测试工具selenium 之Selenium-IDE
- nagios监控mysql服务_nagios监控mysql服务
- Soul网关源码解析目录
- 技校计算机科技都学什么好,技校计算机都学什么?
- 山师计算机二级考试科目,山师计算机应用技术考试试题与答案.doc
- html5中颜色范围,HTML5输入范围:将runnable-track的颜色更改为当前值
- 蓝桥杯比赛的RTC时钟配置