当前位置: 首页 > 教程 > JavaZip >

java.util.zip.Deflater类

精华
小牛编辑
101浏览
2023-03-14

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 - 压缩算法的压缩方法(目前唯一支持的压缩方法)。
  • static int FILTERED - 压缩策略最适用于大部分数值较小且数据分布随机分布的数据。
  • static int FULL_FLUSH - 压缩刷新模式,用于清除所有待处理的输出并重置拆卸器。
  • static int HUFFMAN_ONLY - 仅用于霍夫曼编码的压缩策略。
  • 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 boolean finished() 如果已达到压缩数据输出流的结尾,则返回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