课程体系颠覆升级
六维全息课程
机构:IT培训中心 时间:2021-06-03 16:49:16 点击:115
2014年03月 荣获“质量放心用户满意双优品牌”奖牌;2014年02月 为成都软件行业的行业协会理事单位,成都互联网协会会员;2013年12月 校长陈小林先生荣获职业教育研究促进中心理事聘书;2013年12月 被荣获成都市社会组织规范化服务型示范党组织;2013年12月 荣获北大青鸟春华奖;2013年06月 成为成都市人力资源和社会保障局职业教育协会理事单位,*人保部授权OSTA认证培训中心...
许多资料来源中都含有多余数据或对存储信息无用的数据。这常常造成客户机 和服务器应用程序间或电脑间浩如烟海的数据传输。很明显,数据存储和信息传 输问题解决办法是,安装辅助存储装置并扩展现有的通信设备。然而,要做到这 一点,就需要增加组织的运行费用。减轻部分数据存储和信息传输的方法之一是, 以更有效的代码表示数据。本文简要介绍数据压缩和解压缩,以及如何有效地、方便地从JavaTM应用程序内部使用 java.util.zip包压缩和解压缩数据。
虽然 WinZip、gzip和Java ARchive(或 jar)等工具可以用来压缩和解压缩数据,这些工具仍被用作* 的应用程序。从 Java 应用程序中可以调用这些工具,但并非是简捷有效的解决 方法。在希望迅速地(如在传输到远程机器之前)压缩和解压缩数据的情况下, 尤其如此。本文将:
简要综述数据压缩
描述java.util.zip包
介绍如何使用这些包压缩和解压缩数据
介绍如何压缩和解压缩已序列化的对象以节省磁盘空间
介绍如何迅速压缩和解压缩数据,以提高客户/服务器应用程序的性能
概述数据压缩
文件冗余最单一的类型是字符的重复。例如,下列字符串:
BBBBHHDDXXXXKKKKWWZZZZ
可以更简洁地对本字符串进行编码,方法是以重复字符和代表其重复次数的数 字代替每个重复字符串。因此,上述字符串可以编码为:
4B2H2D4X4K2W4Z
这里的" 4B "表示4个B,而2H表示2个H,等等。以这种方法压缩字符串的编码 方式叫做运行长度编码。
另一个例子,是矩形图像存储。因为是单色位图图像,所以按图表1所示存储。
图表1∶带运行长度编码信息的位图
第二种方法是将图像存为图解元文件∶
矩形11、3、20、5
它表示,该矩形起始坐标是(11, 3),宽度是 20 像素,长度是 5 像素。
矩形图像可以通过计算相等字节的方式,以运行长度编码进行压缩,如下:
0, 40
0, 40
0,10 1,20 0,10
0,10 1,1 0,18 1,1 0,10
0,10 1,1 0,18 1,1 0,10
0,10 1,1 0,18 1,1 0,10
0,10 1,20 0,10
0,40
上面的第一行表示,位图的第一行由40个0组成。第三行表示,位图的第三行 由10个0组成,继之以20个1、10个0组成,诸如此类。
注意,运行长度编码要求对其文件及其编码版本分别表示。所以,本方法不 适用于所有文件。其他的压缩技术包括变长编码(亦称霍夫曼编码)和等其它编 码。更多信息,请参看数据和影象压缩技术的相关书籍。
数据压缩的好处很多。不过,基本的好处是减少存储需求。此外,对于数据 通信,通过介质传递压缩数据会导致信息传输率的增加。注意,数据压缩可以 在现有的硬件上通过软件或采用结合了压缩技术的专门硬件设备完成。图形2显 示了基本的数据压缩方块图。
图形2∶数据压缩方块图
ZIP vs. GZIP
如果使用的是 Windows,就会很熟悉 WinZip 工具,该工具用来创建压缩文 件和从压缩文件中提取文件。不过,在UNIX上,细节有些有点不一样。tar 命令 用来创建文件(非压缩),而另一个程序(gzip或压缩)用来压缩 文件。
WinZip和PKZIP之类的工具既用作归档器,教育期刊也用 作压缩器。它们将文件压缩并存储在文档中。另一方面,gzip并不 存档文件。因此,在 UNIX 上,tar命令通常用来创建文档,然后 用gzip命令来压缩存档文件。
java.util.zip 包
Java 为兼容 zip 的数据压缩提供 java.util.zip包。它提供 允许读取、创建并修改ZIP和GZIP文件格式的类。此外,提供用于计算任意输入流 校验和的应用类,该类可用于确认输入数据。这个包有一个界面、14个类和2个异 常类,如表1所示。
表 1∶java.util.zip 包
项目 类型 描述
Checksum 界面 由Adler32和CRC32类实现
Adler32 类 用于计算数据流的 Adler32 检验和
CheckedInputStream 类 维持正在读取的数据检验和的输入流。
CheckedOutputStream 类 维持写入数据的检验和的输出流。
CRC32 类 用于计算数据流的 CRC32 检验和
Deflater 类 支持使用 ZLIB 压缩库的常规压缩
DeflaterOutputStream 类 以紧缩压缩格式压缩数据的输出流过滤器
GZIPInputStream 类 文件格式压缩数据的输入流过滤器。
GZIPOutputStream 类 文件格式压缩数据的输出流过滤器。
Inflater 类 支持使用 ZLIB 压缩库的常规解压缩
InlfaterInputStream 类 解压紧缩压缩格式数据的输入流过滤器
ZipEntry 类 代表ZIP压缩文件条目
ZipFile 类 用于从ZIP文件中读取条目
ZipInputStream 类 读取ZIP文件格式文件的输入流过滤器
ZipOutputStream 类 以ZIP文件格式写入文件的输出流过滤器
DataFormatException 异常类 给出数据格式错误的信号
ZipException 异常类 给出 zip 错误的信号
注意: TZLIB压缩库最初是作为“可移植的网络图象文件格式”(PNG) 标准的一部分进行开发的,该标准不受专利的保护。
六维全息课程
CREA项目研发模型
百人讲师天团
学员就业均薪过万
HTML5
Java
Python
全链路设计
云计算
软件测试
北大青鸟成都锦江(成都青鸟信息技术学校)(成都青鸟信息技术学校)-北大青鸟成都锦江经北大青鸟APTECH总部授权,成为西南地区获得北大青鸟全产品线中心,师资、就业双优校区,四川A级教育机构,北大青鸟锦江具备ACCP软件工程师、Benet网络工程师、学士后JAVA工程师、学士后.NET工程师、学士后网络营销师、学士后安卓工程师等课程培训资质。北大青鸟机构中运营资历深、合作名企多、教学环境优越、学员数量非常多的教育机构中心之一,2012年,我校荣获北大青鸟年度"聚英奖"及"教学质量"、"就业服务"双项大奖,2012年荣获总部排名前三奖"卓越教育风云人物奖"并成为北大青鸟职业研究促进中心理事,北大青鸟拥有多媒体教室20多间、专业服务器逾10台、电脑设备500多台、专业图书近万本,并创建了北大青鸟体系企业化运作、学员参与项目实践的标准化软件公司,专业体系提供教学、实训、就业一站式六星级服务。