java 将输入流压缩zip
时间: 2023-09-04 12:02:01 浏览: 95
java实现zip压缩文件
在Java中,可以使用ZipOutputStream类将输入流压缩成zip文件。下面是一个示例代码:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipInputSteamExample {
public static void main(String[] args) {
String inputFilePath = "input.txt";
String zipFilePath = "output.zip";
try {
// 创建输入流
FileInputStream inputStream = new FileInputStream(inputFilePath);
// 创建输出流
FileOutputStream outputStream = new FileOutputStream(zipFilePath);
// 创建Zip输出流
ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream);
// 添加Zip实体
zipOutputStream.putNextEntry(new ZipEntry(inputFilePath));
// 缓冲区
byte[] buffer = new byte[1024];
int length;
// 读取输入流内容并写入Zip输出流
while ((length = inputStream.read(buffer)) >= 0) {
zipOutputStream.write(buffer, 0, length);
}
// 关闭输入流
inputStream.close();
// 关闭Zip实体
zipOutputStream.closeEntry();
// 关闭Zip输出流
zipOutputStream.close();
System.out.println("文件已成功压缩为zip!");
} catch (IOException e) {
System.out.println("压缩过程出现异常:" + e.getMessage());
}
}
}
```
在上述代码中,首先创建了输入流和输出流。然后,通过ZipOutputStream类的putNextEntry()方法添加要压缩的文件。接下来,使用一个缓冲区读取输入流的内容,并将其写入Zip输出流中。最后,关闭输入流、关闭Zip实体、关闭Zip输出流。
执行上述代码后,会生成一个名为output.zip的压缩文件,其中包含了输入文件input.txt的内容。
阅读全文