• java解压zip压缩包


    package com.spring.mvc.zip;

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Enumeration;
    import java.util.zip.ZipEntry;

    import org.apache.tools.zip.ZipFile;


    public class zip {

    /**
    * 解压到指定目录
    * @param zipPath
    * @param descDir
    * @author isea533
    */
    public static void unZipFiles(String zipPath,String descDir)throws Exception{
    unZipFiles(new File(zipPath), descDir);
    }
    /**
    * 解压文件到指定目录
    * @param zipFile
    * @param descDir
    * @author isea533
    */
    @SuppressWarnings("rawtypes")
    public static void unZipFiles(File zipFile,String descDir)throws Exception{
    File pathFile = new File(descDir);
    if(!pathFile.exists()){
    pathFile.mkdirs();
    }
    ZipFile zip = new ZipFile(zipFile,"gbk");
    for(Enumeration entries = zip.getEntries();entries.hasMoreElements();){
    ZipEntry entry = (ZipEntry)entries.nextElement();
    String zipEntryName = entry.getName();
    InputStream in = zip.getInputStream((org.apache.tools.zip.ZipEntry) entry);
    String outPath = (descDir+zipEntryName).replaceAll("\*", "/");;
    //判断路径是否存在,不存在则创建文件路径
    File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
    if(!file.exists()){
    file.mkdirs();
    }
    //判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
    if(new File(outPath).isDirectory()){
    continue;
    }
    //输出文件路径信息
    System.out.println(outPath);

    OutputStream out = new FileOutputStream(outPath);
    byte[] buf1 = new byte[1024];
    int len;
    while((len=in.read(buf1))>0){
    out.write(buf1,0,len);
    }
    in.close();
    out.close();
    }
    System.out.println("******************解压完毕********************");
    }

    public static void main(String[] args) throws Exception {

    /**
    * 解压文件
    */
    File zipFile = new File("d://zhouzhiwei.zip"); //压缩包地址
    String path = "d://zipfile/"; //被解压到这个路径
    unZipFiles(zipFile, path);
    }
    }

  • 相关阅读:
    Git命令与使用
    Android与WebView的JS交互
    Android 中关于硬件加速的使用和问题
    Activity-生命周期和启动模式
    Activity-恢复与保存状态或数据
    Android中Paint的一些使用心得记录
    Java中sleep,wait的区别
    C#基本类型
    LeetCode74 搜索二维矩阵
    leetcode 43 字符串相乘 java
  • 原文地址:https://www.cnblogs.com/yy123/p/4011261.html
Copyright © 2020-2023  润新知