7z压缩

什么是7z

一种文件压缩格式,具有高压缩比率,进行数据压缩有多种压缩算法可以选择。与其它压缩格式相比,得到的压缩文档较小,即压缩率最高,节省磁盘空间。

7-Zip

下载地址
http://www.7-zip.org/
完全免费而且开源的压缩软件,相比其他软件有更高的压缩比但同时耗费的资源也相对更多。支持压缩/ 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP,WIM,另外使用。
7-Zip压缩zip格式也要比一般的软件压缩率要更高。

常用的压缩格式

  • zip: 一种规范开放的压缩文件,压缩算法主要使用 DEFLATE
  • tar: tar是Linux常见的一种归档文件格式(原生不包括压缩功能,压缩率最 差),tar一般和其他没有文件管理的压缩算法文件结合使用,用tar打包整个文件 目录结构成一个文件,再用gzip,bzip等压缩 。是Linux常见的压缩归档的处理方法
  • 7z: 算法主要用lzma,7z的文件和管理程序都是开源的。
  • rar: RAR有专利保护,特别是编码也就是压缩程序是私有的。


    image.png
    image.png

    image.png
    image.png

7zip的使用

压缩等级

  • 0:不压缩
  • 1:快速压缩
  • 5:正常压缩
  • 7:最大压缩
  • 9:极限压缩

压缩命令:

  • 7z a [输出文件] [待压缩文件/目录] -mx=9
  • -t7z 压缩文件的格式为7z(压缩zip则为-tzip)
  • -mx=9 设置压缩等级为极限压缩

解压命令:

  • 7z x [压缩文件] -o[输出目录]

Android的使用

下载

网页下载:https://sourceforge.net/projects/p7zip/files/
命令行下载:

 windows:wget [https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t](https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t)
 Mac:brew [https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t](https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t)

命令行使用:
在java当中,可以使用Runtime.getRuntime().exec(“xxx”)进行命令的执行;
由于7z的使用不需要对执行过程进行干涉,也就是不需要在执行过程当中对数据进行干涉,也就是我们只在乎最后得出一个7z格式压缩文件或者解压出7z的压缩文件,因此可以使用命令行来执行7z的压缩与解压缩。

编译android可执行文件

1、进入 目录/CPP/ANDROID/7zr


image.png

2、我们只编译7zr的形式,因为我们只需要支持7z格式,如果需要支持其他格式可以使用7z.

7z :使用了插件,能进行更多的格式支持(能支持tar、zip等)
7za:只是用7zip
7zr:只支持7z格式

3、根据makefile的提示,执行ndk-build

image.png

4、可以在Application.mk中选择编译自己所需要的版本,x86或者armeabi
image.png

5、切换到jni所在目录,执行ndk-build即可
image.png

6、最后拿到可执行文件
image.png

可执行文件下载地址:
https://pan.baidu.com/s/1Wjkuz_BNgM32grxbgsJsSw

Demo

下载地址:
https://pan.baidu.com/s/1N52dSnymLpCN0tvrGDCJ8w

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容