zoukankan      html  css  js  c++  java
  • 读写ZIP文件

    String zipFile = /D:/+ ".zip";
       StringOperator.zip(filePath, zipFile);
       InputStream is = null;
       OutputStream os = null;
       BufferedInputStream bis = null;
       BufferedOutputStream bos = null;
       try {
        response.setCharacterEncoding("utf-8");
        response.addHeader("Content-disposition", "attachment;filename=" + folderFileName + ".zip");
        is = new FileInputStream(zipFile);
        bis = new BufferedInputStream(is);
        os = response.getOutputStream();
        bos = new BufferedOutputStream(os);
        
        int read = 0;
        byte[] bytes = new byte[8072];
        while((read = bis.read(bytes, 0, bytes.length)) != -1){
         bos.write(bytes, 0, read);
        }
        bos.flush();
       } catch (Exception e) {
        e.printStackTrace();
       }finally{
        bos.close();
        os.close();
        bis.close();
        is.close();
       }

    /** 
         * 压缩 
         *  
         * @param sourceFile 
         *            压缩的源文件 如: c:/upload 
         * @param targetZip 
         *            生成的目标文件 如:c:/upload.zip 
         */ 
        public static void zip(String sourceFile,String targetZip){  
              
              Project prj = new Project();  
                
              Zip zip = new Zip();  
                
              zip.setProject(prj);  
                
              zip.setDestFile(new File(targetZip));//设置生成的目标zip文件File对象  
                
              FileSet fileSet = new FileSet();  
                
              fileSet.setProject(prj);  
                
              fileSet.setDir(new File(sourceFile));//设置将要进行压缩的源文件File对象 
                
              zip.addFileset(fileSet);  
     
              zip.execute();  
     
        }  

  • 相关阅读:
    Ubuntu 12.10 安装破解sublimetext 2
    封装一个类型转换的方法
    【转】CultureInfo中重要的InvariantCulture
    C# 36进制转10进制
    用泛型的IEqualityComparer<T>接口去重复项
    关于wamp启动是80端口被占用的问题详解(win7系统下WAMP 80端口被MicrosoftHTTPAPI/2.0占用的解决办法)
    Ubuntu 更改鼠标滚轮速度
    edge ctrl+c 复制不起作用
    centos 7 mysql8 安装和卸载
    Windows Terminal 终端 SSH连接centos7 linux
  • 原文地址:https://www.cnblogs.com/Defry/p/4576914.html
Copyright © 2011-2022 走看看