由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节
省服务器的外存空间。
Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩、网络传输和解
压缩的实现比较容易,下面介绍利用ZipEntry、ZipInputStream和ZipOutputStream三个Java
类实现zip数据压缩方式的编程方法。
zip压缩文件结构:一个zip文件由多个entry组成,每个entry有一个唯一的名称,entry的
数据项存储压缩数据。
与zip文件有关的几个Java类
·类ZipEntry
public ZipEntry String name);
name为指定的数据项名。
·类ZipOutputStream
ZipOutputStream实现了zip压缩文件的写输出流,支持压缩和非压缩entry。下面是它的
几个函数:
public ZipOutputStream OutputStream out);
∥利用输出流out构造一个ZIP输出流。
public void setMethod int method);
∥设置entry压缩方法,缺省值为DEFLATED。
public void putNextEntry ZipEntry newe);
∥如果当前的entry存在且处于激活状态时,关闭它,在zip文件中写入新的entry-newe
并将数据流定位于entry数据项的起始位置,压缩方法为setMethod指定的方法。
·类ZipInputStream
ZipInputStream实现了zip压缩文件的读输入流,支持压缩和非压缩entry。下面是它的
几个函数:
public ZipInputStream InputStream in);
∥利用输入流in构造一个ZIP输出流。
public ZipEntry getNextEntry );
∥返回ZIP文件中的下一个entry,并将输出流定位在此entry数据项的起始位置。
public void closeEntry );
∥关闭当前的zip entry,并将数据流定位于下一个entry的起始位置。
程序代码及其注释
|