zipoutputstream做下载
时间: 2023-10-25 20:10:38 浏览: 91
ZipOutputStream 是可以用来将多个文件打包压缩成一个 zip 文件的 Java 类。如果要使用它来做下载,可以按照以下步骤:
1. 创建一个 ZipOutputStream 对象,并设置好输出流,指定要压缩的文件名和路径。
```
FileOutputStream fos = new FileOutputStream("archive.zip");
ZipOutputStream zipOut = new ZipOutputStream(fos);
```
2. 遍历要压缩的文件列表,将每个文件写入压缩输出流中。
```
File fileToZip1 = new File("file1.txt");
File fileToZip2 = new File("file2.txt");
addFileToZip(fileToZip1, zipOut);
addFileToZip(fileToZip2, zipOut);
```
其中,addFileToZip() 方法是自定义的一个方法,用来将文件写入压缩输出流中,代码如下:
```
private static void addFileToZip(File file, ZipOutputStream zipOut) throws IOException {
FileInputStream fis = new FileInputStream(file);
ZipEntry zipEntry = new ZipEntry(file.getName());
zipOut.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zipOut.write(bytes, 0, length);
}
fis.close();
}
```
3. 关闭压缩输出流和文件输出流。
```
zipOut.close();
fos.close();
```
通过以上步骤,可以将多个文件打包成一个 zip 文件,并将其下载到客户端。
阅读全文