Java教程:利用Java实现zip压缩解压缩_第1页
Java教程:利用Java实现zip压缩解压缩_第2页
Java教程:利用Java实现zip压缩解压缩_第3页
Java教程:利用Java实现zip压缩解压缩_第4页
Java教程:利用Java实现zip压缩解压缩_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 Java 教程 利用教程 利用 Java 实现实现 zip 压缩压缩 解压缩解压缩 由于网络带宽有限 所以数据文件的压缩有利于数据在 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 下面是它的几个函数 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 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 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 返回 ZIP 文件中的下一个 entry 并将输出流定位在此 entry 数据项的起始位 置 public void closeEntry 关闭当前的 zip entry 并将数据流定位于下一个 entry 的起始位置 程序代码及其注释 下列的程序实现了数据文件 zip 方式的压缩和解压缩方法 randomData 函数 随机生成 50 个 double 数据 并放在 doc 字符串变量 中 openFile 函数读取 ZIP 压缩文件 saveFile 函数将随机生成的数据存到 ZIP 格式的压缩文件中 import java util zip import java awt event import java awt import java lang Math import java io public class TestZip extends Frame implements ActionListener 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 TextArea textarea 显示数据文件的多行文本显示域 TextField infotip 显示数据文件未压缩大小及压缩大小单行文本显示域 String doc 存储随机生成的数据 long doczipsize 0 压缩数据文件的大小 public TestZip 生成菜单 MenuBar menubar new MenuBar setMenuBar menubar Menu file new Menu File true menubar add file MenuItem neww new MenuItem New neww addActionListener this file add neww 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 MenuItem open new MenuItem Open open addActionListener this file add open MenuItem save new MenuItem Save save addActionListener this file add save MenuItem exit new MenuItem Exit exit addActionListener this file add exit 随机生成的数据文件的多行文本显示域 add Center textarea new TextArea 提示文本原始大小 压缩大小的单行文本显示域 add South infotip new TextField 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 public static void main String args TestZip ok new TestZip ok setTitle zip sample ok setSize 600 300 ok show private void randomData 随机生成 50 个 double 数据 并放在 doc 字符串变量中 doc for int i 1 i 51 i double rdm Math random 10 doc doc new Double rdm toString 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 if i 5 0 doc doc else doc doc doczipsize 0 showTextandInfo private void openFile 打开 zip 文件 将文件内容读入 doc 字符串变量中 FileDialog dlg new FileDialog this Open FileDialog LOA D dlg show String filename dlg getDirectory dlg getFile try 创建一个文件实例 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 File f new File filename if f exists return 文件不存在 则返回 用文件输入流构建 ZIP 压缩输入流 ZipInputStream zipis new ZipInputStream new FileInputStream f zipis getNextEntry 将输入流定位在当前 entry 数据项位置 DataInputStream dis new DataInputStream zipis 用 ZIP 输入流构建 DataInputStream doc dis readUTF 读取文件内容 dis close 关闭文件 doczipsize f length 获取 ZIP 文件长度 showTextandInfo 显示数据 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 catch IOException ioe System out println ioe private void saveFile 打开 zip 文件 将 doc 字符串变量写入 zip 文件中 FileDialog dlg new FileDialog this Save FileDialog SAVE dlg show String filename dlg getDirectory dlg getFile try 创建一个文件实例 File f new File filename if f exists return 文件不存在 则返回 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 用文件输出流构建 ZIP 压缩输出流 ZipOutputStream zipos new ZipOutputStream new FileOutputStream f zipos setMethod ZipOutputStream DEFLATED 设置压缩方法 zipos putNextEntry new ZipEntry zip 生成一个 ZIP entry 写入文件输出流中 并将输出流定位于 entry 起始处 DataOutputStream os new DataOutputStream zipos 用 ZIP 输出流构建 DataOutputStream os writeUTF doc 将随机生成的数据写入文件中 os close 关闭数据流 doczipsize f length 获取压缩文件的长度 showTextandInfo 显示数据 达内教育达内教育 中国中国 IT 培训领导品牌培训领导品牌 catch IOException ioe System out println ioe private void showTextandInfo 显示数据文件和压缩信息 textarea replaceRange doc 0 textarea getText length infotip setText uncompressed size doc length compressed size dc zipsize public void actionPerformed ActionEvent e String arg e getActionCommand 达内教育达内教育

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论