利用JAVA API函数实现数据的压缩与解压缩.doc

利用JAVA API函数实现数据的压缩与解压缩.doc

ID:57282798

大小:142.50 KB

页数:18页

时间:2020-08-09

利用JAVA API函数实现数据的压缩与解压缩.doc_第1页
利用JAVA API函数实现数据的压缩与解压缩.doc_第2页
利用JAVA API函数实现数据的压缩与解压缩.doc_第3页
利用JAVA API函数实现数据的压缩与解压缩.doc_第4页
利用JAVA API函数实现数据的压缩与解压缩.doc_第5页
资源描述:

《利用JAVA API函数实现数据的压缩与解压缩.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、利用JAVAAPI函数实现数据的压缩与解压缩利用JAVAAPI函数实现数据的压缩与解压缩2002年2月本文通过对数据压缩算法的简要介绍,然后以详细的示例演示了利用java.util.zip包实现数据的压缩与解压,并扩展到在网络传输方面如何应用java.util.zip包现数据压缩与解压综述许多信息资料都或多或少的包含一些多余的数据。通常会导致在客户端与服务器之间,应用程序与计算机之间极大的数据传输量。最常见的解决数据存储和信息传送的方法是安装额外的存储设备和扩展现有的通讯能力。这样做是可以的,但无疑会增加组织的运作成本。一种有效的解决数据存储与信息传输的方法是通过更有效率的代码来存储数据。这篇

2、文章简要的介绍了数据的压缩与解压缩,并展示了用java.util.zip包来实现数据的压缩与解压缩是多么的方便与高效。当然用诸如WinZip,gzip,和Java压缩(或jar)之类的工具也可以实现数据的压缩与解压缩,这些工具都是独立的应用程序。你也可以在JAVA应用程序中调用这些工具,但这并不是最直接的方法,也不是有效的解决方法。尤其是你想更快速地实现数据的压缩与解压缩(例如在传输数据到远程机器之前)。这篇文章包括以下内容:·给出一个关于数据压缩的简单的介绍·描述java.util.zip包·示例如何使用该包实现数据的压缩与解压缩·示例如何压缩串行化的对象并将其存储在磁碟上·示例如何通过数据

3、压缩来增强"客户/服务"应用程序的性能数据压缩概述文件中数据冗余的最简单的类型是"字符的复制"。让我们先来看下面一个字符串:·JJJJJJAAAAVVVVAAAAAA这个字符串可以用更简洁的方式来编码,那就是通过替换每一个重复的字符串为单个的实例字符加上记录重复次数的数字来表示,上面的字符串可以被编码为下面的形式:18/18利用JAVAAPI函数实现数据的压缩与解压缩·6J4A4V6A在这里,"6J"意味着6个字符J,"4A"意味着4个字符A,以此类推。这种字符串压缩方式称为"行程长度编码"方式,简称RLE。再举一个例子,考虑一下矩形图像的存储。一个单色位图,可以被存储为下面这种形式,如图1所

4、示。图1:RLE方式下的位图信息另外一种方式是将图像存为一个图元文件:Rectangle11,3,20,5上面的表示方法是讲矩形的起始坐标是(11,3),宽度是20,高度是5。上述的矩形图像可以使用RLE编码方式压缩,通过对相同位记数表示如下:0,400,400,101,200,100,101,10,181,10,100,101,10,181,10,100,101,10,181,10,100,101,200,100,40上面第一行是讲图像的第一行由40个0组成。第三行是讲图像的第三行是由10个0加上20个1再加上10个0组成,其它行以此类推。18/18利用JAVAAPI函数实现数据的压缩与解压

5、缩大家注意,RLE方法需要将其表示的文件与编码文件分开。所以,这种方法不能应用于所有的文件。其它的压缩技术包括变长编码(也被称为哈夫曼编码),还有其它的方法。要想了解更详细的信息,请参考有关数据和图像压缩技术方面的图书,一定会有收获的。数据压缩有很多益处。不管怎么说,最主要的好处就是减少存储方面的需求。同样的,对于数据通信来讲,压缩数据在媒体中的将导致信息传输数据的提升。数据的压缩能够通过软件在现有的硬件设备上实现或者通过带有压缩技术的特殊的硬件设备来实现。图表2显示了基本的数据压缩结构图。图2:数据压缩结构图ZIPVSGZIP如果你是在Windows系统下工作,你可能会对工具WinZip很熟

6、悉,是用来创建压缩档案和解开压缩档案的。而在UNIX平台上,会有一些不同,命令tar用来创建一个档案文件(并不压缩),其它的程序(gzip或compress)用来创建一个压缩档案。WinZip和PkZip之类的工具同时扮演着归档和压缩两个角色。他们将文件压缩并将其归档。另一方面,gzip并不将文件归档。所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。Java.util.zip包Java提供了java.util.zip包用来兼容ZIP格式的数据压缩。它提供了一系列的类用来读取,创建,修改ZIP和GZIP格式的文件。它还提供了工具类来计算任意输入流的数

7、目,这可以用来验证输入数据的有效性。该包提供了一个接口,十四个类,和两个异常处理类,如表1所示。表1:java.util.zip包条目类型描述Checksum接口被类Adler32和CRC32实现的接口18/18利用JAVAAPI函数实现数据的压缩与解压缩Adler32类使用Alder32算法来计算Checksum数目CheckedInputStream类一个输入流,保存着被读取数据的Checks

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。