zoukankan      html  css  js  c++  java
  • 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成功");

        }

    }
  • 相关阅读:
    window.open()被浏览器拦截问题汇总
    如何快速判断页面是服务端渲染还是客户端渲染
    前端标注软件-pxcook像素大厨使用心得
    nodejs 实践:express 最佳实践(四) express-session 解析
    webpack 精华文章
    数据库 join
    $.ajax 中的contentType
    nodejs 实践:express 最佳实践(二) 中间件
    漂亮的代码6:增加字符串后的数字
    走马观花看语言总纲
  • 原文地址:https://www.cnblogs.com/gmq/p/1543746.html
Copyright © 2011-2022 走看看