zoukankan      html  css  js  c++  java
  • java实现一次性压缩多个文件

    package com.testFileIO.test;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    /**
     * 〈一句话功能简述〉<br>
     * 〈功能详细描述〉
     * 
     * @author Pasier
     * @see [相关类/方法](可选)
     * @since [产品/模块版本] (可选)
     */
    public class ZipOutputStreamDemo {
        public static void main(String[] args) throws IOException {
            // 要被压缩的文件夹
            String fileName1 = "D:" + File.separator + "javaIo" + File.separator + "hello";
            File file = new File(fileName1);
            String zipFileName = "d:" + File.separator + "javaIo" + File.separator + file.getName()+".zip";
            File zipFile = new File(zipFileName);
            
            InputStream input = null;
            ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
            // zip的名称为
            zipOut.setComment(file.getName());
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (int i = 0; i < files.length; ++i) {
                    input = new FileInputStream(files[i]);
                    zipOut.putNextEntry(new ZipEntry(file.getName() + File.separator + files[i].getName()));
                    int temp = 0;
                    while ((temp = input.read()) != -1) {
                        zipOut.write(temp);
                    }
                    input.close();
                }
            }
            zipOut.close();
        }
    
    }
    分享到:
  • 相关阅读:
    String类中的常用方法(Java)
    Struts2的Lambda表达式的使用
    Struts2的环境搭建
    Servlet 3.0
    关于URLWriter的用法
    PrintStream与PrintWriter
    java中的System.nanoTime与System.currentTime
    java多线程之CyclicBarrier类
    多线程java IO之管道流
    消费者与生产者
  • 原文地址:https://www.cnblogs.com/enshrineZither/p/3127047.html
Copyright © 2011-2022 走看看