JAVA实现zip文件解压缩

该博客介绍了一个Java实现的ZIP文件解压缩方法,使用了ant-1.7.1.jar库。通过创建Apache Ant的Project对象和Expand任务,设置编码为GBK来处理可能由WinRAR创建的GBK编码的ZIP文件。提供了解压缩和压缩文件或文件夹的函数,包括递归压缩文件到ZIP的逻辑。
摘要由CSDN通过智能技术生成
 需要jar包:ant-1.7.1.jar
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;


/**
 * yijiebang
 *2018年3月22日10:58:29
 * 实现文件的压缩和解压缩
 */
public class zipUtil {


/**

* 解压zip格式压缩包

* 对应的是ant.jar
* @return 
*/


private static boolean unzip(String sourceZip, String destDir) {


try {


Project p = new Project();


Expand e = new Expand();


e.setProject(p);


e.setSrc(new File(sourceZip));


e.setOverwrite(false);


e.setDest(new File(destDir));


/*

* ant下的zip工具默认压缩编码为UTF-8编码,

* 而winRAR软件压缩是用的windows默认的GBK或者GB2312编码

* 所以解压缩时要制定编码格式
*/


e.setEncoding("gbk");


e.execute();
return true;

} catch (Exception e) {
return false;
}
          
}
public static boolean existZH(String str) {  
   String regEx = "[\\u4e00-\\u9fa5]";  
   Pattern p = Pattern.compile(regEx);  
   Matcher m = p.matcher(str);  
   while (m.find()) {  
       return true;  
   }  
   return false;  

 


/**

* 解压缩
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值