zoukankan      html  css  js  c++  java
  • zip压缩文件解压到指定目录

      
      public void DoTask(){
            try{
    
                String zipFilePath = "D:\UnzipFile\bd_2018.zip";
                String unzipFilePath ="D:\UnzipFile\index\";
    
                UnZipFileTest(new File(zipFilePath),unzipFilePath);
    
            }catch (Exception e){
                System.out.println(e.getMessage());
            }
    
        }
    
    public void UnZipFileTest(File zipFilePath, String unzipFilePath) throws IOException {
    
            File pathFile = new File(unzipFilePath);
            if(!pathFile.exists())
            {
                pathFile.mkdirs();
            }
    
            try{
                //解决zip文件中有中文目录或者中文文件
                ZipFile zip = new ZipFile(zipFilePath, Charset.forName("GBK"));
                for(Enumeration entries = zip.entries(); entries.hasMoreElements();)
                {
                    ZipEntry entry = (ZipEntry)entries.nextElement();
                    String zipEntryName = entry.getName();
                    InputStream in = zip.getInputStream(entry);
                    String outPath = (unzipFilePath+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();
                }
            }catch (IOException e){
                System.out.println(e.getMessage());
            }
            System.out.println("******************解压完毕********************");
    
        }
  • 相关阅读:
    jqGrid详解及高级应用(十四)
    ERP存储过程的调用和树形菜单的加载(四)
    IDisposable接口
    SQL调用系统存储过程整理
    Net作业调度-----Quartz.Net
    C#泛型(二)
    ERP通用存储过程封装(三)
    ERP PowerDesigner工具使用(二)
    ERP简介(一)
    jQuery.TreeView插件实现树状导航(十三)
  • 原文地址:https://www.cnblogs.com/zhangrh/p/15162500.html
Copyright © 2011-2022 走看看