Deflater

优质
小牛编辑
118浏览
2023-12-01

介绍 (Introduction)

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

类声明

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

public class Deflater
   extends Object

字段 (Fields)

以下是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 - 仅用于霍夫曼编码的压缩策略。

  • static int NO_COMPRESSION - 无压缩的压缩级别。

  • static int NO_FLUSH - 用于实现最佳压缩结果的压缩刷新模式。

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

构造函数 (Constructors)

Sr.No.构造函数和描述
1

Deflater()

使用默认压缩级别创建新压缩器。

2

Deflater(int level)

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

3

Deflater(int level, boolean nowrap)

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

类方法

Sr.No.方法和描述
1int deflate(byte [] b)

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

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

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

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

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

4void end()

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

5void finish()

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

6boolean finished()

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

7int getAdler()

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

8long getBytesRead()

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

9long getBytesWritten()

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

10int getTotalIn()

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

11int getTotalOut()

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

12boolean needsInput()

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

13void reset()

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

14void setDictionary(byte [] b)

设置压缩的预设字典。

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

设置压缩的预设字典。

16void setInput(byte [] b)

设置压缩的输入数据。

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

设置压缩的输入数据。

18void setLevel(int level)

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

19void setStrategy(int strategy)

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

方法继承

该类继承以下类中的方法 -

  • java.lang.Object