Javazip 简明教程
java.util.zip - Deflater Class
Introduction
java.util.zip.Deflater 类利用流行的 ZLIB 压缩库提供对通用压缩的支持。ZLIB 压缩库最初作为 PNG 图形标准的一部分开发,而且不受专利保护。在 java.util.zip 包说明中进行了详细介绍。
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 − 用于刷新所有挂起输出并重置解压缩器的压缩刷新模式。
-
static int HUFFMAN_ONLY − 仅适用于霍夫曼编码的压缩策略。
-
static int NO_COMPRESSION − 无压缩的压缩级别。
-
static int NO_FLUSH − 用于实现最佳压缩结果的压缩刷新模式。
-
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 |
|
16 |
void setInput(byte[] b) 设置要压缩的输入数据。 |
17 |
void setInput(byte[] b, int off, int len) 设置要压缩的输入数据。 |
18 |
void setLevel(int level) 将当前压缩级别设置为指定值。 |
19 |
void setStrategy(int strategy) 将压缩策略设置为指定值。 |