Javazip 简明教程

java.util.zip - Deflater Class

Introduction

java.util.zip.Deflater 类利用流行的 ZLIB 压缩库提供对通用压缩的支持。ZLIB 压缩库最初作为 PNG 图形标准的一部分开发,而且不受专利保护。在 java.util.zip 包说明中进行了详细介绍。

Class Declaration

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

public class Deflater
   extends Object

Fields

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

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

  2. static int BEST_SPEED − 最快速压缩的压缩级别。

  3. static int DEFAULT_COMPRESSION − 默认压缩级别。

  4. static int DEFAULT_STRATEGY − 默认压缩策略。

  5. static int DEFLATED − 用于 deflate 算法的压缩方法(目前仅支持此方法)。

  6. static int FILTERED − 最适合压缩主要由小值组成的且分布较随机的数据的压缩策略。

  7. static int FULL_FLUSH − 用于刷新所有挂起输出并重置解压缩器的压缩刷新模式。

  8. static int HUFFMAN_ONLY − 仅适用于霍夫曼编码的压缩策略。

  9. static int NO_COMPRESSION − 无压缩的压缩级别。

  10. static int NO_FLUSH − 用于实现最佳压缩结果的压缩刷新模式。

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

Constructors

Sr.No.

Constructor & Description

1

Deflater() 创建具有默认压缩级别的全新压缩器。

2

Deflater(int level) 使用指定的压缩级别创建全新压缩器。

3

Deflater(int level, boolean nowrap) 使用指定的压缩级别创建全新压缩器。

Class Methods

Sr.No.

Method & Description

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() 重置压缩器以处理一组新的输入数据。

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) 将压缩策略设置为指定值。

Methods Inherited

此类从以下类中继承方法:

  1. java.lang.Object