类 java.util.zip.Deflater
java.lang.Object
|
+----java.util.zip.Deflater
- public class Deflater
- extends Object
该类使用著名的 ZLIB 压缩程序库为通常的解压缩提供支持。
ZLIB 压缩程序库最初是作为 PNG 图形标准的部件开发出来的,并且不受专利的保护。详细描述见 1950、1951 和 1952 的 RFCs 。
- 参见:
- Inflater
变量索引
- BEST_COMPRESSION
- 最佳压缩的压缩级别。
- BEST_SPEED
- 最快压缩的压缩级别。
- DEFAULT_COMPRESSION
- 缺省的压缩级别。
- DEFAULT_STRATEGY
- 缺省的压缩策略。
- DEFLATED
- deflate 算法(当前唯一支持的算法)的压缩方法。
- FILTERED
- 适用于主要包含小值的且在某种程度上随意分布的数据的压缩策略。
- HUFFMAN_ONLY
- 仅适用于 Huffman 编码的压缩策略。
- NO_COMPRESSION
- 无压缩的压缩级别。
构造子索引
- Deflater()
- 用缺省的压缩级别创建一个新的压缩器。
- Deflater(int)
-
使用缺省的压缩级别创建一个新的压缩器。
- Deflater(int, boolean)
- 使用缺省的压缩级别创建一个新的压缩器。
方法索引
- deflate(byte[])
- 用压缩数据填充指定的缓冲区。
- deflate(byte[], int, int)
- 用压缩数据填充指定的缓冲区。
- end()
- 废除未处理的输入并释放其内部的数据。
- finalize()
- 当收集无用信息时释放压缩器。
- finish()
- 该方法被调用时,指示了压缩应当以输入缓冲区的当前内容结束。
- finished()
- 如果已到达压缩数据输出流的结尾返回 true 。
- getAdler()
- 返回未压缩数据的 ADLER-32 值。
- getTotalIn()
- 返回到目前为止输入的字节总数。
- getTotalOut()
- 返回到目前为止输出的字节总数。
- needsInput()
- 如果输入数据缓冲区为空返回 true ,且应调用 setInput() 以提供更多的输入。
- reset()
- 复位 deflater 以使新的输入数据集可以被处理。
- setDictionary(byte[])
- 为压缩预置词典。
- setDictionary(byte[], int, int)
- 为压缩预置词典。
- setInput(byte[])
- 为压缩设置输入数据。
- setInput(byte[], int, int)
- 为压缩设置输入数据。
- setLevel(int)
- 把当前的压缩级别设置为指定的值。
- setStrategy(int)
- 把压缩策略设置为指定的值。
变量
DEFLATED
public static final int DEFLATED
- deflate 算法(当前唯一支持的算法)的压缩方法。
NO_COMPRESSION
public static final int NO_COMPRESSION
- 无压缩的压缩级别。
BEST_SPEED
public static final int BEST_SPEED
- 最快压缩的压缩级别。
BEST_COMPRESSION
public static final int BEST_COMPRESSION
- 最佳压缩的压缩级别。
DEFAULT_COMPRESSION
public static final int DEFAULT_COMPRESSION
- 缺省的压缩级别。
FILTERED
public static final int FILTERED
- 最适用于主要包含小值的在某种程度上随意分布的数据的压缩策略。强制使用更多的 Huffman 编码和较少的字符串匹配。
HUFFMAN_ONLY
public static final int HUFFMAN_ONLY
- 仅适用于 Huffman 编码的压缩策略。
DEFAULT_STRATEGY
public static final int DEFAULT_STRATEGY
- 缺省的压缩策略。
构造子
Deflater
public Deflater(int level,
boolean nowrap)
- 使用缺省的压缩级别创建一个新的压缩器。
如果 'nowrap' 为 true ,则不使用 ZLIB 首部和校验和域以支持用在 GZIP 和 PKZIP 中的压缩格式。
- 参数:
- level - 压缩级别(0-9)
- nowrap - 如果为 true ,则使用 GZIP 兼容的压缩。
Deflater
public Deflater(int level)
- 使用缺省的压缩级别创建一个新的压缩器。
压缩的数据将以 ZLIB 格式生成。
- 参数:
- level - 压缩级别(0-9)
Deflater
public Deflater()
- 用缺省的压缩级别创建一个新的压缩器。
压缩的数据将以 ZLIB 格式生成。
方法
setInput
public synchronized void setInput(byte b[],
int off,
int len)
- 为压缩设置输入数据。该方法应在 needsInput() 返回 true,即指示需要更多的输入数据时被调用。
- 参数:
- b - 输入数据字节
- off - 数据的初始偏移量
- len - 数据的长度
- 参见:
- needsInput
setInput
public void setInput(byte b[])
- 为压缩设置输入数据。该方法应在 needsInput() 返回 true,即指示需要更多的输入数据时被调用。
- 参数:
- b - 输入数据字节
- 参见:
- needsInput
setDictionary
public native synchronized void setDictionary(byte b[],
int off,
int len)
- 为压缩预置词典。 预置词典在历史缓冲区可预定时使用。当数据用 Inflater.inflate() 解压缩时,调用 Inflater.getAdler() 来获取解压缩需要的词典的 Adler-32 值。
- 参数:
- b - 词典数据字节
- off - 数据的初始偏移量
- len - 数据的长度
- 参见:
- inflate, getAdler
setDictionary
public void setDictionary(byte b[])
- 为压缩预置词典。 预置词典在历史缓冲区可预定时使用。当数据用 Inflater.inflate() 解压缩时,调用 Inflater.getAdler() 来获取解压缩需要的词典的 Adler-32 值。
- 参数:
- b - 词典数据字节
- 参见:
- inflate, getAdler
setStrategy
public synchronized void setStrategy(int strategy)
- 把压缩策略设置为指定的值。
- 参数:
- strategy - 新的压缩策略
- 抛出:
IllegalArgumentException
- 如果压缩策略无效
setLevel
public synchronized void setLevel(int Level)
- 把当前的压缩级别设置为指定的值。
- 参数:
- level - 新的压缩级别(0-9)
- 抛出:
IllegalArgumentException
- 如果压缩级别无效
needsInput
public boolean needsInput()
- 如果输入数据缓冲区为空返回 true ,且应调用 setInput() 以提供更多的输入。
finish
public synchronized void finish()
- 当该方法被调用时,指示了压缩应当以输入缓冲区的当前内容结尾。
finished
public synchronized boolean finished()
- 如果已到达压缩数据输出流的结尾返回 true 。
deflate
public native synchronized int deflate(byte b[],
int off,
int len)
- 用压缩数据填充指定的缓冲区。 返回压缩数据的实际字节数。返回值 0 指示应调用 needsInput() 以决定是否需要更多的输入。
- 参数:
- b - 压缩数据的缓冲区
- off - 数据的初始偏移量
- len - 压缩数据的最大字节数
- 返回值:
- 实际压缩的字节数
deflate
public int deflate(byte b[])
- 用压缩数据填充指定的缓冲区。 返回压缩数据的实际字节数。返回值 0 指示应调用 needsInput() 以决定是否需要更多的输入。
- 参数:
- b - 压缩数据的缓冲区
- 返回值:
- 实际压缩的字节数
getAdler
public native synchronized int getAdler()
- 返回未压缩数据的 ADLER-32 值。
getTotalIn
public native synchronized int getTotalIn()
- 返回到目前为止输入的字节总数。
getTotalOut
public native synchronized int getTotalOut()
- 返回到目前为止输出的字节总数。
reset
public native synchronized void reset()
- 复位 deflater 以使新的输入数据集可以被处理。
保持当前的压缩级别和策略设置。
end
public native synchronized void end()
- 废除未处理的输入并释放内部的数据。
finalize
protected void finalize()
- 当收集无用信息时释放压缩器。
- 覆盖:
- 类 Object 中的
finalize