经常遇到选择多个文件进行批量下载的情况,可以先将选择的所有的文件生成一个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成功);

    }

}

版权声明:本文为gmq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gmq/archive/2009/08/11/1543746.html