知识大全 数据压缩格式Java语言应用程序设计方法

Posted

篇首语:知识是智慧的火炬。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据压缩格式Java语言应用程序设计方法相关的知识,希望对你有一定的参考价值。

数据压缩格式Java语言应用程序设计方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  数据压缩格式Java语言应用程序设计方法              ——第一部分 ZIP压缩格式程序设计方法    作者 苏洋 本文选自 赛迪网 年 月 日    基于Java语言的健壮姓 跨平台应用能力以及面向对象的程序设计特征等因素 Java语言一直是软件工程师在构建网络应用程序 特别是需要在异构平台下运行的软件系统时的首选程序设计语言     但是 由于网络带宽的限制 特别是开发以互联网为传输媒介的软件系统时 软件在运行过程中的数据传输效率会成为评价一套软件系统姓能的重要指标 由于网络的数据传输速度是软件运行的客观因素 因此 在这种情况下 程序设计人员首先考虑的减少软件系统运行过程中需要传输的数据量 如果有些数据必须要传输 则软件工程师通常将这些数据在发送端进行压缩 而在数据接收端将数据解压缩 从而主动减少应用系统数据传输量     JDK环境中提供了多种类型的数据压缩方式 总结起来 利用Java语言可以创建的数据文件压缩格式包括如下类型     ●ZIP格式    ●GZIP格式    ●JAR格式    在本系列文章中 将分别对利用Java语言创建类型数据压缩文件的方法 以及JDK API中相关对象的结构和成员方法的应用形式进行说明     第一部分 ZIP压缩格式程序设计方法         当然 在利用JDK API创建压缩数据文件时 不需要详细了解上述ZIP文件定义格式 但是 JDK中定义的多种类型用于进行数据压缩和管理的对象 正是根据上述格式实现数据压缩和解压缩的      JDK API中ZIP压缩格式支持对象    ZIP压缩格式是在Windows操作系统环境中经常应用的压缩格式 ZIP压缩格式的压缩比高 压缩速度快 因而成为利用Java语言定义需要在网络中进行数据传输时 数据压缩格式的首选     在JDK API的java util zip包中 定义了多种类型用于创建和读取zip压缩格式文件的对象 常用对象的定义形式和主要成员方法如下     ●ZipEntry    由于可以将多个文件压缩到同一压缩文件中 因此 JDK API中定义的ZipEntry对象用于标识ZIP压缩文件中每个原始文件的入口 该对象的定义结构为     对象定义结构     java util zip ZipEntry    静态成员变量     CENATT CENATX CENCRC … …    这些静态成员变量用于定义在压缩过程中采用的压缩算法     构造方法     ZipEntry(String name) 采用字符串类型参数name定义压缩文件中的原始文件入口对象实例     ZipEntry(ZipEntry e) 采用ZipEntry对象类型参数e定义压缩文件中的原始文件入口对象实例     成员方法     long getCompressedSize() 获取压缩文件的大小    void setCompressedSize(long csize) 设置压缩文件的大小    int getMethod() 获取压缩时采用的压缩算法    void setMethod(int method) 设置压缩算法    long getSize() 获取压缩原始文件的大小    void setSize(long size) 设置压缩原始文件的大小    long getTime() 获取压缩文件入口标识的定义时间    void setTime(long time) 设置压缩文件入口标识的定义时间    boolean isDirectory() 判断该压缩入口标识是否代表目录     String getName() 返回压缩入口标识的名称    ●ZipFile    该对象用于从ZIP压缩格式文件中读取压缩原始文件的入口     对象定义结构     java util zip ZipFile    静态成员变量     CENATT CENATX CENCRC … …    这些静态成员变量用于定义在压缩过程中采用的压缩算法     构造方法     ZipFile(File file) 从File对象代表的压缩文件中读取压缩原始文件     ZipFile(File file int mode) 从File对象代表的压缩文件中读取压缩原始文件 并且可以指定ZIP文件读取模式     ZipFile(String name) 打开字符串参数name表示的ZIP压缩文件     成员方法     void close() 关闭被读取的ZIP压缩文件    Enumeration entries() 枚举出ZIP压缩文件中的各个压缩原始文件入口(Entry)    ZipEntry getEntry(String name) 获取压缩文件中的各个压缩原始文件入口    InputStream getInputStream(ZipEntry entry) 通过ZIP压缩文件中的入口创建输入流对象    String getName() 获取ZIP压缩文件的名称    int size() 获取压缩文件中的入口数量    ●ZipInputStream    该对象用于从ZIP压缩文件中创建输入流对象     对象定义结构     java util zip ZipInputStream    静态成员变量     CENATT CENATX CENCRC … …    这些静态成员变量用于定义在压缩过程中采用的压缩算法     构造方法     ZipInputStream(InputStream in) 应用输入流对象创建从ZIP文件中读取数据的输入流对象     成员方法     int available() 判断当前入口指定的压缩原始文件中是否还有未读数据     void close() 关闭ZIP输入流对象    void closeEntry() 关闭被读取的ZIP入口 并移动到下一压缩原始文件入口     protectedZipEntry createZipEntry(String name) 利用指定的名称创建ZipEntry对象实例     ZipEntry getNextEntry() 将输入流对象移动到下一入口对象     int read(byte[] b int off int len) 从当前ZipEntry中读取字节数组     long skip(long n) 将输入流指定的读取数据位置移动n个字节     ●ZipOutputStream    该数据输出流对象用于创建ZIP压缩文件     对象定义结构     java util zip ZipOutputStream    静态成员变量     CENATT CENATX CENCRC … …    这些静态成员变量用于定义在压缩过程中采用的压缩算法     构造方法     ZipOutputStream(OutputStream out) 应用输出流对象实例创建ZIP格式输出流对象     成员方法     void close() 关闭ZIP输出流对象     void closeEntry() 关闭当前ZIP输出流对象指定的Entry 并移动到下一Entry     void putNextEntry(ZipEntry e) 在ZIP压缩文件中创建新的压缩原始文件入口     void setComment(String ment) 设置压缩文件的说明信息     void setMethod(int method) 设置采用的压缩算法     void write(byte[] b int off int len) 通过ZIP输出流对象向压缩文件中输出字节数组b      创建ZIP压缩格式文件实例    经过前面对JDK API中创建ZIP压缩格式文件的相关对象的结构 成员方法定义形式的说明 读者一定会问如何应用这些对象和对象中定义的成员方法呢?请读者看下面的实例代码         //ZipDemo java    import java io *;     import java util zip *;     public class ZipDemo          public static void main(String[] args)          if (args length != )         System out println( 请输入被压缩文件的名称和压缩文件的名称! );     System exit( );          try          //创建文件输入流对象     FileInputStream in = new FileInputStream( args[ ] );     //创建文件输出流对象    FileOutputStream out = new FileOutputStream( args[ ] );     //创建ZIP数据输出流对象     ZipOutputStream zipOut = new ZipOutputStream( out );     //创建指向压缩原始文件的入口    ZipEntry entry = new ZipEntry( args[ ] );    zipOut putNextEntry( entry );    //向压缩文件中输出数据    int nNumber;     byte[] buffer = new byte[ ];     while ((nNumber=in read(buffer)) != )     zipOut write(buffer nNumber);     //关闭创建的流对象    zipOut close();     out close();     in close();         catch(IOException e)          System out println( e );                    cha138/Article/program/Java/hx/201311/26438

相关参考

知识大全 Java数据库程序中的存储过程设计

Java数据库程序中的存储过程设计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文阐述了怎么

知识大全 怎样学好java语言

怎样学好java语言?学习程序的最好方式是参照源代码,先仿照,后创新,慢慢有积累了,就可以收发自由了。没关系的,慢慢来,不可能一步到位的。java确实很难学.学习Java其实应该上升到如何学习程序设计

知识大全 java 解析json格式数据

  有时候可能会用到json格式进行数据的传输那么怎么把接收到的数据解析出来呢?下面介绍两种解析json数据的方法      通过谷歌的Gs

知识大全 数据结构之算法和算法分析[3]

  为了解决理解与执行这两者之间的矛盾人们常常使用一种称为伪码语言的描述方法来进行算法描述伪码语言介于高级程序设计语言和自然语言之间它忽略高级程序设计语言中一些严格的语法规则与描述细节因此它比程序设计

知识大全 数据结构之抽象数据类型[1]

  首先我们回顾一下在程序设计语言中出现的各种数据类型  数据类型  数据类型是和数据结构密切相关的一个概念它最早出现在高级程序设计语言中用以刻划程序中操作对象的特性在用高级语言编写的程序中每个变量常

知识大全 Java技术实现数据库应用系统慨述

Java技术实现数据库应用系统慨述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java语言是

知识大全 java数据库设计中的14个技巧

  下述十四个技巧是许多人在大量的数据库分析与设计实践中逐步总结出来的对于这些经验的运用读者不能生帮硬套死记硬背而要消化理解实事求是灵活掌握并逐步做到在应用中发展在发展中应用原始单据与实体之间的关系 

知识大全 在Java中将数据由UTF8转换成GB2312格式

Java进阶:在Java中将数据由UTF8转换成GB2312格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 理解java的多形性

  对于面向对象的程序设计语言多型性是第三种最基本的特征(前两种是数据抽象和继承    多形性(Polymorphism)从另一个角度将接口从具体的实施细节中分离出来亦即实现了是什么与怎样做两个模块的

知识大全 面向对象建模与数据库建模的比较

  我们知道一个软件从无到有需要经过如下几个阶段分析设计编程调试部署和运行  编程阶段我们通常使用Java/NET这样面向对象语言工具可以带来很多设计上的好处但是也存在一个奇怪的现象很多程序员虽然在使