• Java批量下载生成zip文件


    经常遇到选择多个文件进行批量下载的情况,可以先将选择的所有的文件生成一个zip文件,然后再下载,该zip文件,即可实现批量下载,为了将问题简化,新建java项目,在根目录下随便放入两个文件来模拟我们要同时下载的文件(在本例中新建了result.txtsource.txt两个文件),通过如下代码即可实现同时下载这两个文件:

    import java.io.File;
    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.util.zip.ZipEntry;

    import java.util.zip.ZipOutputStream; 

    public class ZipOutputStreamDemo {

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

           byte[] buffer = new byte[1024];

           //生成的ZIP文件名为Demo.zip

           String strZipName = "Demo.zip";

           ZipOutputStream out = new ZipOutputStream(new FileOutputStream(strZipName));

           //需要同时下载的两个文件result.txt source.txt

           File[] file1 = {new File("result.txt"),new File("source.txt")};

           for(int i=0;i<file1.length;i++) {

               FileInputStream fis = new FileInputStream(file1[i]);

               out.putNextEntry(new ZipEntry(file1[i].getName()));

               int len;

               //读入需要下载的文件的内容,打包到zip文件

              while((len = fis.read(buffer))>0) {

               out.write(buffer,0,len);

              }

               out.closeEntry();

               fis.close();

           }

            out.close();

            System.out.println("生成Demo.zip成功");

        }

    }
  • 相关阅读:
    组合数学练习
    floyd算法新理解
    图论练习
    GDOI2021 day2总结
    P3190 [HNOI2007]神奇游乐园
    P1932 A+B A-B A*B A/B A%B Problem
    P2289 [HNOI2004]邮递员
    P5056 【模板】插头dp
    P4323 [JSOI2016]独特的树叶
    CF1153D Serval and Rooted Tree
  • 原文地址:https://www.cnblogs.com/gmq/p/1543746.html
Copyright © 2020-2023  润新知