全球旧事资料 分类
讲图像的第三行是由10个0加上20个1再加上10个0组成,其它行以此类推。
218
f利用JAVAAPI函数实现数据的压缩与解压缩
大家注意,RLE方法需要将其表示的文件与编码文件分开。所以,这种方法不能应用于所有的文件。其它的压缩技术包括变长编码(也被称为哈夫曼编码),还有其它的方法。要想了解更详细的信息,请参考有关数据和图像压缩技术方面的图书,一定会有收获的。
数据压缩有很多益处。不管怎么说,最主要的好处就是减少存储方面的需求。同样的,对于数据通信来讲,压缩数据在媒体中的将导致信息传输数据的提升。数据的压缩能够通过软件在现有的硬件设备上实现或者通过带有压缩技术的特殊的硬件设备来实现。图表2显示了基本的数据压缩结构图。
图2:数据压缩结构图
ZIPVSGZIP
如果你是在Wi
dows系统下工作,你可能会对工具Wi
Zip很熟悉,是用来创建压缩档案和解开压缩档案的。而在UNIX平台上,会有一些不同命令tar用来创建一个档案文件(并不压缩),其它的程序(gzip或compress)用来创建一个压缩档案。
Wi
Zip和PkZip之类的工具同时扮演着归档和压缩两个角色。他们将文件压缩并将其归档。另一方面,gzip并不将文件归档。所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。
Javautilzip包
Java提供了javautilzip包用来兼容ZIP格式的数据压缩。它提供了一系列的类用来读取,创建,修改ZIP和GZIP格式的文件。它还提供了工具类来计算任意输入流的数目,这可以用来验证输入数据的有效性。该包提供了一个接口,十四个类,和两个异常处理类,如表1所示。
表1javautilzip包
条目
类型
描述
318
f利用JAVAAPI函数实现数据的压缩与解压缩
ChecksumAdler32CheckedI
putStreamCheckedOutputStreamCRC32DeflaterDeflaterOutputStreamGZIPI
putStreamGZIPOutputStreamI
flaterI
lfaterI
putStreamZipE
tryZipFileZipI
putStreamZipOutputStreamDataFormatExceptio
ZipExceptio

接口类类类类类类类类类类类类类类
被类Adler32和CRC32实现的接口使用Alder32算法来计算Checksum数目一个输入流,保存着被读取数据的Checksum一个输出流,保存着被读取数据的Checksum使用CRC32算法来计算Checksum数目使用ZLIB压缩类,支持通常的压缩方式一个输出过滤流,用来压缩Deflater格式数据一个输入过滤流,读取GZIP格式压缩数据一个输出过滤流,读取GZIP格式压缩数据使用ZLIB压缩类,支持通常的解压方式一个输入过滤流,用来解压I
lfater格式的压缩数据存储ZIP条目从ZIP文件中读取ZIP条目r
好听全球资料 返回顶部