package com.jieyuechina.util; import java.io.*; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; /** * 程序实现了ZIP压缩。共分为2部分 : * 压缩(compression)与解压(decompression) * <p> * 大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压。 * 需在代码中自定义源输入路径和目标输出路径。 * <p> * 在本段代码中,实现的是解压部分;压缩部分见本包中compression部分。 * @author HAN * */ public class ZipFileUtil { @SuppressWarnings("unchecked") public static void unZipFileByOpache(ZipFile zipFile, String unZipRoot) throws Exception, IOException { java.util.Enumeration e = zipFile.getEntries(); ZipEntry zipEntry; while (e.hasMoreElements()) { zipEntry = (ZipEntry) e.nextElement(); InputStream fis = zipFile.getInputStream(zipEntry); if (zipEntry.isDirectory()) { } else { File file = new File(unZipRoot + File.separator + zipEntry.getName()); File parentFile = file.getParentFile(); parentFile.mkdirs(); FileOutputStream fos = new FileOutputStream(file); byte[] b = new byte[1024]; int len; while ((len = fis.read(b, 0, b.length)) != -1) { fos.write(b, 0, len); } fos.close(); fis.close(); } } } public static void unZipFile(String unZipFileName, String unZipPath) throws Exception { ZipFile zipFile = new ZipFile(unZipFileName, "gbk"); unZipFileByOpache(zipFile, unZipPath); } public static void main(String[] args) throws Exception { /** * 解压文件 */ unZipFile("d:1.zip", "e:"); } }
相关推荐
网上很多描述java解压中文乱码的问题,很多描述不全.由于工作需要整理出一个完整版.简单实用.下载后请从ZipUtil.java的main方法开始,一目了然. public static void ...将E:\\aaaa\\中文.zip解压到E:\\aaaa\\中文目录下
jdk8.zip解压即可使用
android Zip解压、压缩 demo
Android Java zip 解压库,全部源代码,代码很精简,可以取到每个文件在压缩文件中的起始位置及大小信息。
在线ZIP解压程序
易语言zip解压源码,zip解压,读取zip目录,读取某个zip文件
解压 压缩 7zip 7-Zip是一款GNU/LPGL协议下分发的免费软件
java rar解压 zip解压 工具
在线zip解压 php源码 可以执行 zip在线解压
Android中zip解压漏洞分析
C# Client下载和Zip解压文件 实例
使用请看我的文章
jdk1.8.0_211.zip解压版,解压配置环境变量就可以使用了
7Zip解压软件
android zip解压
ZIP解压源程序.rar
ZIP解压 静态库 修复BUG版
提权软件.txt【将文件后缀名改为zip 解压,要解压两次!!!】.abc
7-zip解压器
rar,zip解压所需jar包