利 用Java1.1 实 现zip 方 式 的 压 缩/ 解 压 缩 方 法

原创 2001年05月05日 01:05:00
由 于 网 络 带 宽 是 有 限 的, 所 以 数 据 文 件 的 压 缩 有 利 于 数 据 在Internet 上 的 快 速 传 输, 同 时 也 节 省 服 务 器 的 外 存 空 间。

         Java 实 现 了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 的 起 始 位 置。

程 序 代 码 及 其 注 释

         下 列 的 程 序 实 现 了 数 据 文 件zip 方 式 的 压 缩 和 解 压 缩 方 法。randomData() 函 数 随 机 生 成50 个double 数 据, 并 放 在doc 字 符 串 变 量 中;openFile() 函 数 读 取ZIP 压 缩 文 件;saveFile() 函 数 将 随 机 生 成 的 数 据 存 到ZIP 格 式 的 压 缩 文 件 中。


9710-1.gif

Linux常用解缩压

Linux下自带了一个unzip的程序可以解压缩文件, 解压命令是:unzip filename.zip  同样也提供了一个zip程序压缩zip文件,命令是  zip filename....
  • The_sun0808
  • The_sun0808
  • 2015年11月23日 20:18
  • 173

ASP在线压(缩)解(压)rar

明天在网上看到一篇利用winrar来进行在线压解操作RAR压缩包的文章,自己动手作了一个,发现还不错原理其实也很简单就是将winrar里的rar.exe上传到自己的web下,然后写一个ASP用wscr...
  • oyiboy
  • oyiboy
  • 2004年08月24日 11:45
  • 2360

[Java]Object有哪些公用方法?

1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 主要是JAVA里除了8种基本类...
  • csd_1234500
  • csd_1234500
  • 2018年01月04日 15:54
  • 24

Java解/压/缩多个文件目录

java压缩—-解压(亲测)package com.CloudDisk.Extend;import java.io.File; import java.io.FileInputStream; impo...
  • qq_31840537
  • qq_31840537
  • 2016年12月05日 21:00
  • 104

VC 调 用ACM 音 频 压 缩 编 程 接 口 的 方 法

---- 音 频 和 视 频 数 据 是 大 多 数 多 媒 体 应 用 程 序 向 用 户 提 供 信 息 的 主 要 方 式, 这 些 数 据 一 般 具 有 较 高 的 采 样 速 率, 如 果...
  • xwchen
  • xwchen
  • 2008年04月19日 15:57
  • 696

点燃式、压燃式发动机区别

点燃式 PI 压燃式 CI 压燃式内燃机吸入的是空气,进行压缩燃烧,压燃式发动机压缩比较高,比较有力量,适合大马力的发动机。 点燃式内燃机吸入的是空气和燃料(常是汽油),点燃式内燃机的优点是速度比较快...
  • like6766256
  • like6766256
  • 2015年06月24日 09:31
  • 1977

怎么尽可能将pdf文件压缩到最小

大家都知道,上传文件时如果文件过大会影响我们的上传速度,这都不算什么,最重要的是有的平台有文件大小的限制,过大的文件根本不能进行上传,而现在大家又习惯将制作好的文件转换成pdf格式,这种不能编辑修改的...
  • ohgfd
  • ohgfd
  • 2016年09月30日 13:49
  • 1198

如何将文件打包、压缩并分割成制定大小?

(如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能)将大文件或目录打包、压缩并分割成制定大小的文件,这在将数据备份到容量有限的移动储存设备时是必须的,...
  • eastsea
  • eastsea
  • 2007年04月23日 12:02
  • 1874

iOS压缩和解压

iOS中,有时候我们需要从服务器下载资源文件,有2种方式,有时是单个文件传输,有时服务器会将多个文件压缩后进行传输。当资源文件较多时,压缩成zip格式,通过验证文件的MD5值判断文件是否成功下载是一种...
  • lj20082100
  • lj20082100
  • 2013年07月04日 11:16
  • 1067

什么是表压?什么是绝压?表压和绝压什么关系?

1.表压: 表压指的是管道压力,指的是用压力表、真空表、U形管等仪器测出来的压力,又叫相对压力),“表压力”以大气压力为起点,符号为Pg。 2.绝压: 直接作用于容器或物体表面的压力,称为...
  • microcosmv
  • microcosmv
  • 2016年06月17日 10:29
  • 14083
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利 用Java1.1 实 现zip 方 式 的 压 缩/ 解 压 缩 方 法
举报原因:
原因补充:

(最多只允许输入30个字)