經常遇到選擇多個檔案進行批量下載的情況,可以先將選擇的所有的檔案產生一個zip檔案,然後再下載,該zip檔案,即可實現批量下載,為了將問題簡化,建立java項目,在根目錄下隨便放入兩個檔案來類比我們要同時下載的檔案(在本例中建立了result.txt,source.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成功");
}
} 還有以下參考:http://wjhcomputer.iteye.com/blog/1000333http://topic.csdn.net/u/20070209/09/ed602597-c693-4ec1-b9eb-51d35e493d10.htmlhttp://topic.csdn.net/u/20100727/14/6b86a6a8-5ee4-4d3b-ae5e-004eead66fde.html