本文资料来自《android开发权威指南》

AndroidSDK中提供了java.util.jar和java.util.zip包中的若干类和接口来完成。

压缩文件基本步骤:

1、创建一个JarOutputStream或ZipOutputStream对象,分别用来生成jar或zip文件。

2、创建了(jar|zip)OutputStream对象,还不能直接向输出流写入数据。由于压缩文件也需要使用文件名和路径来标识被压缩的文 件,因此,需要为每一个要压缩的文件创建一个JarEntry或ZipEntry对象。每一个(jar|zip)Entry对象代表一个被压缩的文件,并 通过(jar|zip)Entry对象指定被压缩文件在压缩包中的文件名和路径。

3、调用(jar|zip)OutputStream.putNextEntry方法设置当前打开的(jar|zip)Entry对象。

4、向(jar|zip)OutputStream对象写入数据。

5、调用(jar|zip)OutputStream.closeEntry方法关闭当前打开的(jar|zip)Entry对象。如果还有待压缩的文件,回到第二步。

解压缩文件的步骤:

1、创建一个JarInputStream或ZipInputStream对象。该对象一般通过FileInputStream对象指定要解压的文件。

2、使用(jar|zip)InputStream。getNextEntry方法枚举压缩包中所有的文件。如果getNextEntry方法返回null,表示压缩文件已经被处理完。

3、通过(jar|zip)Entry.getName方法获得文件压缩后的路径和文件名(为了保证解压后的文件名与压缩前的是一致的,当然,也可以使用其他文件名),并使用FileOUtputStream对象指定已解压的文件。

4、向FileOutputStream对象输出已解压的数据流。

5、调用(jar|zip)Entry.closeEntry方法关闭当前打开的(jar|zip)Entry对象。如果还有有解压的文件,返回到第二步继续执行。

源代码实例:

http://download.csdn.net/download/zlfxy/5098434

转载于:https://www.cnblogs.com/xgjblog/p/3912341.html

Android_JarZip压缩和解压文件相关推荐

  1. android 压缩文件夹 jar,Android_JarZip压缩和解压文件

    本文资料来自<android开发权威指南> AndroidSDK中提供了java.util.jar和java.util.zip包中的若干类和接口来完成. 压缩文件基本步骤: 1.创建一个J ...

  2. Qt qCompress和qUncompress 压缩和解压文件

    利用Qt的qCompress和qUncompress来压缩和解压文件 有个特点,用qCompress压缩的文件不能直接用别的软件来解压,需要经过处理,否则只能利用Qt的qUncompress来解压,因 ...

  3. JAVA 7z Seven Zip 压缩和解压文件

    JAVA 7z Seven Zip 压缩和解压文件 7-Zip是基于GNU LGPL协议发布的软件,通过全新算法使压缩比率大幅提升 本文主要讲解通过JAVA方式把文件压缩成7z文件和对7z文件进行解压 ...

  4. mac 命令行 解压7z文件_如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法...

    苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...

  5. Linux系统-gzip命令 – 压缩和解压文件

    gzip命令来自于英文单词gunzip的缩写,其功能是用于压缩和解压文件.gzip是一款使用广泛的压缩工具,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀. 据统计,g ...

  6. 总结Linux系统压缩和解压文件指令——gzip/gunzip 指令、zip/unzip 指令、tar 指令

    Linux系统压缩和解压文件指令 gzip/gunzip 指令:gzip 用于压缩文件, gunzip 用于解压的 基本语法 应用实例 细节说明 zip/unzip 指令:zip 用于压缩文件, un ...

  7. WinRAR 分卷压缩和解压文件

    WinRAR 分卷压缩和解压文件 1. WinRAR http://www.winrar.com.cn/ 1.1 分卷压缩文件 文件 -> 添加到压缩文件 -> 切分为分卷 (V),大小 ...

  8. 如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法

    苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...

  9. 用SharpZipLib来压缩和解压文件 --zt

    from:http://www.cnblogs.com/zhangweiguo3984/archive/2007/03/15/314333.html#675634 1.建立工程,添加引用,添加Shar ...

  10. linux bzip2压缩文件,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)

    有时候你会发现并不是所有的 Linux 压缩包都是以 .tar.gz 为后缀的,有些压缩包的后缀是 .tar.bz2.这个 .tar.bz2 又是什么呢?它就是本文的主角:bzip2 压缩工具. 有了 ...

最新文章

  1. 记住:永远不要在 MySQL 中使用 UTF-8
  2. python里面的之前打过的记忆信息-python中的记忆:如何缓存函数的运行结果(1)
  3. wsl centos7: Failed to get D-Bus connection: Operation not permitted
  4. 防火墙(3)——iptables(1)
  5. Matlab图像剪切,超出图像区域指定颜色填充
  6. mybatis_user_guide(6) Java API
  7. pyinstaller打包的文件运行失败:numpy.core.multiarray failed to import
  8. 剖析供应链攻击的防范
  9. 手机变身车机导航遥控器 高德地图上线手车互联新功能
  10. UIImagePickerController拍照与摄像(转)
  11. ICLR'22 | 微软亚洲研究院深度学习领域最新研究成果一览
  12. 自动驾驶竟然排名倒数第一?苹果甩PDF否认
  13. linux可变剪切分析,SpliceR:一个用RNA-Seq数据进行可变剪接分类和预测潜在编码区域的R包...
  14. 知识树沉淀总结-领域驱动设计DDD
  15. 《口吃者的自我治疗》(9. 对恐惧的词语,采用延长发音法来放松地口吃)
  16. java mongo 条件查询_Java mongodb复杂多条件查询
  17. 提升深度学习模型泛化性的方法
  18. 《有钱人和你想的不一样》 哈维·艾克 书评
  19. 世界名校排名2020
  20. 解决微信(扫码)无法直接下载apk的问题

热门文章

  1. flex布局精髓和填坑
  2. combox简单用法
  3. 新颖训练方法——用迭代投影算法训练神经网络
  4. ARM 中断状态和SVC状态的堆栈切换 (异常)【转】
  5. Web安全之CSRF攻击
  6. AndroidStudio插件GsonFormat快速实现JavaBean
  7. wcf中的几个配置问题
  8. ACL与磁盘配额结合应用小结
  9. Adaptive Platform AUTOSAR(AP)平台的四个基本概念
  10. C++--第23课 - STL简介