Qt 之 QuaZIP(zip 压缩/解压缩)

网友投稿 1570 2022-10-26

Qt 之 QuaZIP(zip 压缩/解压缩)

Qt 之 QuaZIP(zip 压缩/解压缩)

简述

QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库。适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。

Qt中提供了qCompress/qUncompress来进行文件的压缩与解压,但存在两个问题:

无法很好地压缩/解压缩文件夹。只能将一个文件压缩为某种格式,压缩后的文件无法通过其它解压工具打开(如:7zip,或WinRAR),只能通过qUncompress解压读取,也就是说qCompress生成的压缩文件不包含普通压缩文件的一些头信息,导致无法解压。

QuaZIP类描述


描述

JlCompress

典型操作工具类

QuaAdler32

Adler32算法校验和

QuaChecksum32

校验和接口

QuaCrc32

CRC32校验和

QuaGzipFile

GZIP文件操作

QuaZIODevice

压缩/解压QIODevice

QuaZip

ZIP文件

QuaZipDir

ZIP文件内目录导航

QuaZipFile

ZIP文件内的文件

QuaZipFileInfo

ZIP压缩包内的文件信息

QuaZipFilePrivate

QuaZip的接口

QuaZipNewInfo

被创建的文件信息

QuaZipPrivate

QuaZIP内部类

使用

接口说明

QuaZip中的JlCompress类用来压缩和解压缩文件

/** 压缩文件夹 参数一fileCompressed:压缩后的文件 参数二dir:待压缩的目录 参数三recursive:是否递归**/static bool compressDir(QString fileCompressed, QString dir = QString(), bool recursive = true);/** 解压缩文件夹 参数一fileCompressed:待解压缩的文件 参数二fileCompressed:解压缩存放的目录**/static

配置

在工程中将quazip.lib所在库目录、头文件所在的目录添加到工程中。

pro中添加:

LIBS += -L"D:/quazip/lib" -lquazipINCLUDEPATH += D:/quazip/srcDEPENDPATH += D:/quazip/src

压缩/解压缩

#include #include "JlCompress.h"int main(int argc, char **argv){ QApplication app(argc,argv); // 压缩文件夹 JlCompress::compressDir("F:\\QuaZip.zip", "F:\\QuaZip"); // 解压缩文件夹 JlCompress::extractDir("F:\\QuaZip.zip", "F:\\ExtractQuaZip"); return

更多参考

可以直接-我编译好的库,里面包含源码及库文件。

​​官方主页​​​​souceforge-​​​​QuaZIP已编译(含源码及库文件)​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Orleankka是Microsoft Orleans框架的一个函数式API
下一篇:使用SpringBoot项目导入openfeign版本的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~