java.util.zip - Deflater 类

简介

java.util.zip.Deflater 类支持使用流行的 ZLIB 压缩库进行通用压缩。 ZLIB 压缩库最初是作为 PNG 图形标准的一部分开发的,不受专利保护。 它在 java.util.zip 包描述中的规范中有完整的描述。


类声明

以下是 java.util.zip.Deflater 类的声明 −

public class Deflater
   extends Object

字段

以下是 java.util.zip.Deflater 类的字段 −

  • static int BEST_COMPRESSION − 最佳压缩的压缩级别。

  • static int BEST_SPEED − 最快压缩的压缩级别。

  • static int DEFAULT_COMPRESSION − 默认压缩级别。

  • static int DEFAULT_STRATEGY − 默认压缩策略。

  • static int DEFLATED − deflate 算法的压缩方法(目前唯一支持的一种)。

  • static int FILTERED − 压缩策略最适用于主要由具有某种随机分布的小值组成的数据。

  • static int FULL_FLUSH − 压缩刷新模式用于刷新所有挂起的输出并重置 deflater。

  • static int HUFFMAN_ONLY − 仅适用于 Huffman 编码的压缩策略。

  • static int NO_COMPRESSION − 不压缩的压缩级别。

  • static int NO_FLUSH − 压缩刷新模式用于达到最佳压缩效果。

  • static int SYNC_FLUSH − 压缩刷新模式用于刷新所有挂起的输出; 可能会降低某些压缩算法的压缩率。


构造函数

序号 构造函数 & 描述
1

Deflater()

创建一个具有默认压缩级别的新压缩器。

2

Deflater(int level)

使用指定的压缩级别创建一个新的压缩器。

3

Deflater(int level, boolean nowrap)

使用指定的压缩级别创建一个新的压缩器。


类方法

序号 方法 & 描述
1 int deflate(byte[] b)

压缩输入数据并用压缩数据填充指定的缓冲区。

2 int deflate(byte[] b, int off, int len)

压缩输入数据并用压缩数据填充指定的缓冲区。

3 int deflate(byte[] b, int off, int len, int flush)

压缩输入数据并用压缩数据填充指定缓冲区。

4 void end()

关闭压缩器并丢弃任何未处理的输入。

5 void finish()

调用时,表示压缩应以输入缓冲区的当前内容结束。

6 布尔完成()

如果已到达压缩数据输出流的末尾,则返回 true。

7 int getAdler()

返回未压缩数据的 ADLER-32 值。

8 long getBytesRead()

返回到目前为止输入的未压缩字节总数。

9 long getBytesWritten()

返回到目前为止输出的压缩字节总数。

10 int getTotalIn()

返回到目前为止输入的未压缩字节总数。

11 int getTotalOut()

返回到目前为止输出的压缩字节总数。

12 boolean needsInput()

如果输入数据缓冲区为空并且应该调用 setInput() 以提供更多输入,则返回 true。

13 void reset()

重置 deflater 以便可以处理一组新的输入数据。

14 void setDictionary(byte[] b)

为压缩设置预设字典。

15 void setDictionary(byte[] b, int off, int len)

为压缩设置预设字典。

16 void setInput(byte[] b)

为压缩设置输入数据。

17 void setInput(byte[] b, int off, int len)

为压缩设置输入数据。

18 void setLevel(int level)

将当前压缩级别设置为指定值。

19 void setStrategy(int strategy)

将压缩策略设置为指定值。


继承的方法

这个类继承了以下类的方法 −

  • java.lang.Object