多个BufferedInputStream流和多个BufferedOutputStream流如何处理成一个压缩流生成一个zip文件
时间: 2023-12-25 07:52:20 浏览: 120
Java用Zip压缩多个文件实例源码.zip
可以使用Java提供的ZipOutputStream类来实现将多个输入流压缩成一个zip文件的功能。具体步骤如下:
1. 创建一个ZipOutputStream对象,指定要生成的zip文件的输出流。
```
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("output.zip"));
```
2. 遍历每个要压缩的文件,将其打开为输入流,创建一个ZipEntry对象表示该文件在zip文件中的路径和名称。
```
for (int i = 0; i < inputFiles.length; i++) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inputFiles[i]));
ZipEntry entry = new ZipEntry(inputFiles[i].getName());
zos.putNextEntry(entry);
// 将输入流写入zip输出流
byte[] buffer = new byte[1024];
int count;
while ((count = bis.read(buffer)) != -1) {
zos.write(buffer, 0, count);
}
bis.close();
zos.closeEntry();
}
```
3. 关闭ZipOutputStream对象。
```
zos.close();
```
这样就可以将多个输入流压缩成一个zip文件了。
阅读全文