zoukankan      html  css  js  c++  java
  • java压缩多个文件

    首先创建一个工具类,定义好接口,这里的参数
    1:fileList:多个文件的path+name
    2: zipFileName:压缩后的文件名


    下面是代码,注释已经很详细了

    
    public class ZIPUtil {
        
        public static String createZipFile(ArrayList<String> fileList, String zipFileName) {
    
            if(fileList == null || fileList.size() == 0 || CommonUtil.isEmpty(zipFileName)){
                return null;
            }
            
            //构建压缩文件File
            File zipFile = new File(zipFileName);
            //初期化ZIP流
            ZipOutputStream out = null;
    
            try{
                //构建ZIP流对象
                out = new ZipOutputStream(new FileOutputStream(zipFile));
                //循环处理传过来的集合
                for(int i = 0; i < fileList.size(); i++){
                    //获取目标文件
                    File inFile = new File(fileList.get(i));
                    if(inFile.exists()){
                         //定义ZipEntry对象
                         ZipEntry entry = new ZipEntry(inFile.getName());
                         //赋予ZIP流对象属性
                         out.putNextEntry(entry);
                         int len = 0 ;
                         //缓冲
                         byte[] buffer = new byte[1024];
                         //构建FileInputStream流对象
                         FileInputStream fis;
                         fis = new FileInputStream(inFile);
                         while ((len = fis.read(buffer)) > 0) {
                             out.write(buffer, 0, len);
                             out.flush();
                         }
                         //关闭closeEntry
                         out.closeEntry();
                         //关闭FileInputStream
                         fis.close();
                    }
                }
            }catch (IOException e) {
                e.printStackTrace();
            }finally{
                 try {
                     //最后关闭ZIP流
                     out.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
            }
    
    
            return zipFileName;
    
        }
    }
    

    来源:https://segmentfault.com/a/1190000018211825

  • 相关阅读:
    树分治
    实现自己的shell--MIT xv6 shell
    逆元打表
    Linux fork()函数
    三分:求解凸函数极值
    anti-nim 游戏
    nginx配置文件详解
    nginx之别名、location使用
    shell脚本编程基础知识点
    linux任务计划
  • 原文地址:https://www.cnblogs.com/qixidi/p/10406041.html
Copyright © 2011-2022 走看看