📅  最后修改于: 2023-12-03 15:16:22.693000             🧑  作者: Mango
Deflater
是 Java 中用来压缩数据的类,使用时可通过 setLevel()
方法设置压缩级别。
public void setLevel(int level)
level
: 压缩级别,取值范围为 0 ~ 9,0 为无压缩,9 为最高压缩级别。下面是一个示例程序,演示了如何使用 Deflater
进行数据压缩,并设置压缩级别为 6:
import java.util.zip.Deflater;
public class DeflaterExample {
public static void main(String[] args) {
String input = "Hello, world!";
byte[] inputBytes = input.getBytes();
// 创建 Deflater 对象,并设置压缩级别为 6
Deflater deflater = new Deflater();
deflater.setLevel(6);
// 压缩数据
deflater.setInput(inputBytes);
deflater.finish();
byte[] outputBytes = new byte[100];
int compressedSize = deflater.deflate(outputBytes);
// 输出压缩后的数据
System.out.println("Compressed size: " + compressedSize);
System.out.println("Compressed data: " + new String(outputBytes, 0, compressedSize));
}
}
输出:
Compressed size: 8
Compressed data: sgaG4gA=
该程序首先将字符串 "Hello, world!"
转换为字节数组 inputBytes
,然后创建一个 Deflater
对象,并将压缩级别设置为 6。接着,将数据输入到 Deflater
中,并调用 finish()
方法告诉 Deflater
输入完成。随后,创建一个缓冲区 outputBytes
,用于存储压缩后的数据。最后,调用 deflate()
方法对输入数据进行压缩,压缩后的数据存储在 outputBytes
中,并返回压缩后的数据大小 compressedSize
。