1:引入zip4j_1.3.2.jar
2:源码如下:
package test;import java.io.File;import java.io.IOException;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;public class UnZipUtil { public static void main(String[] args) throws IOException { String zipPath = "D:\\test\\APP2.4.zip";//文件的路径 String descDir = "D:\\test\\APP2.4";//需要解压到的路径 unZipFiles(new File(zipPath), descDir); } /** * zip解压工具类 * @Description: TODO * @param @param zipFile:文件的路径 * @param @param descDir:需要解压到的路径 * @param @throws IOException * @return void * @throws * @author uug * @date 2018年10月23日 */ @SuppressWarnings("unchecked") public static void unZipFiles(File zipFile,String descDir)throws IOException{ try { ZipFile zFile = new ZipFile(zipFile);// 首先创建ZipFile指向磁盘上的.zip文件 zFile.setFileNameCharset("utf-8"); //判断目录是否存在,不存在的话要新建 File file = new File(descDir); if(!file.exists() && !file.isDirectory()){ file.mkdir(); } File descDirDir = new File(descDir);// 解压目录 /*if (zFile.isEncrypted()) { zFile.setPassword(password.toCharArray());// 设置密码 }*/ zFile.extractAll(descDir);// 将文件抽出到解压目录(解压) ListheaderList = zFile.getFileHeaders(); List extractedFileList = new ArrayList (); for(FileHeader fileHeader : headerList) { if (!fileHeader.isDirectory()) { extractedFileList.add(new File(descDirDir,fileHeader.getFileName())); } } File [] extractedFiles = new File[extractedFileList.size()]; extractedFileList.toArray(extractedFiles); for(File f:extractedFileList){ System.out.println(f.getAbsolutePath()+"...."); } }catch(ZipException e){ System.out.println("解压失败:"+e.getMessage()); } } /** * 删除zipPath目录下所有的zip文件 * @Description: TODO * @param @param zipPath:zip文件的目录 * @param @return * @return String * @throws * @author uug * @date 2018年10月23日 */ public static String delZipFile(String zipPath){ try{ File file=new File(zipPath); if (file.isDirectory()) { File[] files = file.listFiles(); for (File f : files) { if (f.getName().endsWith(".zip")) { // zip文件 判断 是否存在 if(f.delete()) { //log.info("zip文件已经删除"); }else{ //log.info("zip文件删除失败"); } } } } }catch(Exception e){ System.out.println("删除zip解压包失败:"+e.getMessage()); } return null; }}