javatm platform
standard ed. 6

java.util.zip
类 deflater

java.lang.object 继承者 java.util.zip.deflater

public class deflater
extends object

此类使用流行的 zlib 压缩程序库为通用压缩提供支持『zhī chí』。zlib 压缩程序库最初是作为 png 图形标准的一部分开发『kāi fā』的,不受专利的保护。有关该规范的完整描述,请参见 java.util.zip 包描述

以下代码片段演示使用 deflaterinflater 压缩和解压缩字符串的详细过程。

 try { // encode a string into bytes string inputstring="blahblahblah??"; byte[] input=inputstring.getbytes("gbk"); // compress the bytes byte[] output=new byte[100]; deflater compresser=new deflater(); compresser.setinput(input); compresser.finish(); int compresseddatalength=compresser.deflate(output); // decompress the bytes inflater decompresser=new inflater(); decompresser.setinput(output, 0, compresseddatalength); byte[] result=new byte[100]; int resultlength=decompresser.inflate(result); decompresser.end(); // decode the bytes into a string string outputstring=new string(result, 0, resultlength, "gbk"); } catch(java.io.unsupportedencodingexception ex) { // handle } catch (java.util.zip.dataformatexception ex) { // handle } 

另请参见:
inflater

字段摘要
static intbest_compression
          最佳压缩的压缩级别。
static intbest_speed
          最快压缩的压缩级别。
static intdefault_compression
          默认压缩级别。
static intdefault_strategy
          默认压缩策略。
static intdeflated
          deflate 算法(当前支持『zhī chí』的唯一『sole』算法)的压缩方法。
static intfiltered
          最适用于主要『main』由小值组成并具有某种程度『 dù』随意分布『fēn bù』的数据的压缩策略。
static inthuffman_only
          仅适用于 huffman 编码的压缩策略。
static intno_compression
          无压缩的压缩级别。
 
构造方法摘要
deflater()
          使用默认压缩级别创建新的压缩器。
deflater(int level)
          使用指定压缩级别创建新的压缩器。
deflater(int level,boolean nowrap)
          使用指定压缩级别创建新的压缩器。
 
方法摘要js随机数
 intdeflate(byte[] b)
          使用压缩数据填充指定缓冲区。
 intdeflate(byte[] b,int off,int len)
          使用压缩数据填充指定缓冲区。
 voidend()
          关闭解压缩器并放弃所有『all』未处理的输入。
protected  voidfinalize()
          回收垃圾时关闭压缩器。
 voidfinish()
          调用时,指示压缩应当以输入缓冲区的当前内容结尾。
 booleanfinished()
          如果已到达压缩数据输出流的结尾,则返回 true。
 intgetadler()
          返回未压缩数据的 adler-32 值。
 longgetbytesread()
          返回到目前为止输入未压缩字节的总数。
 longgetbyteswritten()
          返回到目前为止输出压缩字节的总数。
 intgettotalin()
          返回到目前为止输入未压缩字节的总数。
 intgettotalout()
          返回到目前为止输出压缩字节的总数。
 booleanneedsinput()
          如果输入数据缓冲区为空,并且应调用 setinput() 以提供更多输入,则返回 true。
 voidreset()
          重置 deflater 以处理新的输入数据集。
 voidsetdictionary(byte[] b)
          为压缩预置字典。
 voidsetdictionary(byte[] b,int off,int len)
          为压缩设置预置字典。
 voidsetinput(byte[] b)
          为压缩设置输入数据。
 voidsetinput(byte[] b,int off,int len)
          为压缩设置输入数据。
 voidsetlevel(int level)
          将当前压缩级别设置为指定值。
 voidsetstrategy(int strategy)
          将压缩策略设置为指定值。
 
从类 java.lang.object 继承的方法
clone, equals, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait
 

字段详细小篻ǎn』畔

deflated

public static final int deflated
deflate 算法(当前支持的唯一『sole』算法)的压缩方法。

另请参见:
常量字段值
第四次的审理案件于2010年1月12日由职业法官开庭审理,同年3月31日,4名被告都被判有罪,分别被处15年有期徒刑到无期徒刑不等的刑罚
有的人愿意花大钱买小房,只求方便;有的人宁愿辛苦一点通勤,打死也不买有行无市的房子
因此『 yīn cǐ』多数决里,至少要有一票『piào』是专职法官所投,才符合此等门槛,就使国民法官的人数优势,因此『 yīn cǐ』被稀释
有媒体问到为什么这次不同阵营的恶魔猎人可以『can』运用恶魔语来沟通,设计师说:当时这样『zhè yàng』设计的时候『shí hou』,主要『main』是这样『zhè yàng』和恶魔猎人的感觉『gǎn jué』很相符,因此当成了恶魔猎人的特点,因此同种族可以『can』跨阵营对话,并且反推到了熊猫人身上
而为能全面且审慎进行司改工作『work』,国会先行通过《司法制度『 dù』改革审议会设置法》,并因此于内阁设立,由13位社会人士担任委员所组成的司改审议会,以来进行日本『rì běn』司法的总体检,并提出改革的方向

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
最适用于主要由小值组成并具有某种程度随意分布『fēn bù』的数据的压缩策略。强制使用较多的 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 void setinput(byte[] b,     int off,     int len)
为压缩设置输入数据。此方法应该『yīng gāi』在 needsinput() 返回 true 时调用,以指示需要更多的输入数据。

参数:
b - 输入数据字节
off - 数据的初始偏移量
len - 数据的长度
另请参见:
needsinput()

setinput

public void setinput(byte[] b)
为压缩设置输入数据。此方法应该『yīng gāi』在 needsinput() 返回 true 时调用,以指示需要更多的输入数据。

参数:
b - 输入数据字节
另请参见:
needsinput()

setdictionary

public void setdictionary(byte[] b,     int off,     int len)
为压缩设置预置字典。预置字典在历史『lì shǐ』缓冲区可预定时使用。当以后使用 inflater.inflate() 取消压缩数据时,可以调用 inflater.getadler() 来获取解压缩所需字典的 adler-32 值。

参数:
b - 字典数据字节
off - 数据的初始偏移量
len - 数据的长度
另请参见:
inflater.inflate(byte[], int, int),inflater.getadler()

setdictionary

public void setdictionary(byte[] b)
为压缩预置字典。预置字典在历史『lì shǐ』缓冲区可预定时使用。当以后使用 inflater.inflate() 取消压缩数据时,可以调用 inflater.getadler() 来获取解压缩所需字典的 adler-32 值。

参数:
b - 字典数据字节
另请参见:
inflater.inflate(byte[], int, int),inflater.getadler()

setstrategy

public void setstrategy(int strategy)
将压缩策略设置为指定值。

参数:
strategy - 新的压缩策略
抛出:
illegalargumentexception - 如果压缩策略无效

setlevel

public void setlevel(int level)
将当前压缩级别设置为指定值。

参数:
level - 新的压缩级别 (0-9)
抛出:
illegalargumentexception - 如果压缩级别无效

needsinput

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

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

finish

public void finish()
调用时,指示压缩应当以输入缓冲区的当前内容结尾。


finishedjs随机数

public boolean finished()
如果已到达压缩数据输出流的结尾,则返回 true。

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

deflate

public int deflate(byte[] b,    int off,    int len)
使用压缩数据填充指定缓冲区。返回压缩数据的实际字节数。返回值为 0 指示应调用 needsinput() 来确定是否需要更多的输入数据。

参数:
b - 压缩数据的缓冲区
off - 数据的初始偏移量
len - 压缩数据的最大『largest』字节数
返回:
压缩数据的实际字节数

deflate

public int deflate(byte[] b)
使用压缩数据填充指定缓冲区。返回压缩数据的实际字节数。返回值为 0 指示应调用 needsinput() 来确定是否需要更多的输入数据。

参数:
b - 压缩数据的缓冲区
返回:
压缩数据的实际字节数

getadler

public int getadler()
返回未压缩数据的 adler-32 值。

返回:
未压缩数据的 adler-32 值

网站地图 手机端

gettotalin

public int gettotalin()
返回到目前为止输入未压缩字节的总数。

由于『Meanwhile』该字节数可能『would』大于 integer.max_value,因此 getbytesread() 方法现在是获取此信息的首选方法。

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

getbytesread

public long getbytesread()
返回到目前为止输入未压缩字节的总数。

返回:
到目前为止输入未压缩字节的总数(非负)
从以下版本开始『kāi shǐ』:
1.5

gettotalout

public int gettotalout()
返回到目前为止输出压缩字节的总数。

由于『Meanwhile』该字节数可能『would』大于 integer.max_value,因此 getbyteswritten() 方法现在是获取此信息的首选方法。

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

getbyteswritten

public long getbyteswritten()
返回到目前为止输出压缩字节的总数。

返回:
到目前为止输出压缩字节的总数(非负)
从以下版本开始『kāi shǐ』:
1.5

reset

public void reset()
重置 deflater 以处理新的输入数据集。保持当前压缩级别和策略设置。


end

public void end()
关闭解压缩器并放弃所有未处理的输入。此方法应该在不再使用该压缩器时调用,但是『dàn shì』也可以由 finalize() 方法自动调用。调用此方法后,deflater 对象的行为将是不确定的。


finalize

protected void finalize()
回收垃圾时关闭压缩器。

覆盖:
object 中的 finalize

javatm platform
standard ed. 6

提交错误或意见『yì jian』
有关更多的 api 参考资料和开发『kāi fā』人员文档,请参阅 java se 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作『work』代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策