Java实现Gzip格式的压缩
时间: 2023-10-09 15:15:03 浏览: 83
Java中提供了Gzip压缩的支持,可以使用java.util.zip包中的GZIPOutputStream类实现Gzip格式的压缩。下面是一个简单的示例代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
public class GzipCompress {
public static void main(String[] args) {
String inputFileName = "input.txt";
String outputFileName = "output.gz";
try (FileInputStream fis = new FileInputStream(inputFileName);
FileOutputStream fos = new FileOutputStream(outputFileName);
GZIPOutputStream gos = new GZIPOutputStream(fos)) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
gos.write(buffer, 0, len);
}
gos.finish();
System.out.println("Gzip compression done.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个示例代码将一个名为"input.txt"的文件进行Gzip格式的压缩,输出到名为"output.gz"的文件中。在try语句块中,首先创建一个FileInputStream对象来读取原始文件内容,然后创建一个FileOutputStream对象和一个GZIPOutputStream对象用于写入压缩后的文件内容。接着,使用一个1024字节大小的缓冲区,不断地从原始文件中读取字节并写入到GZIPOutputStream中,直到原始文件读取完毕。最后,调用finish()方法,将压缩输出流中的缓冲区数据写入到输出文件中,并完成压缩操作。
阅读全文