
正文
Qt之QuaZIP(zip压缩/解压缩)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
简述
QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库。适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。
Qt中提供了qCompress/qUncompress来进行文件的压缩与解压,但存在两个问题:
- 无法很好地压缩/解压缩文件夹。
- 只能将一个文件压缩为某种格式,压缩后的文件无法通过其它解压工具打开(如:7zip,或WinRAR),只能通过qUncompress解压读取,也就是说qCompress生成的压缩文件不包含普通压缩文件的一些头信息,导致无法解压。
- 简述
- QuaZIP类描述
- 使用
- 接口说明
- 配置
- 压缩解压缩
- 更多参考
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 QStringList extractDir(QString fileCompressed, QString dir = QString());
配置
在工程中将quazip.lib所在库目录、头文件所在的目录添加到工程中。
pro中添加:
LIBS += -L"D:/quazip/lib" -lquazip
INCLUDEPATH += D:/quazip/src
DEPENDPATH += D:/quazip/src
压缩/解压缩
#include <QApplication>
#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 app.exec();
}
更多参考
可以直接下载我编译好的库,里面包含源码及库文件。
- 官方主页
- souceforge下载
- QuaZIP已编译(含源码及库文件)




![【电子书】[经典小说] 《大唐双龙传》[黄玉郎][1-252全本][图片ZIP][容量2.15G] 【电子书】[经典小说] 《大唐双龙传》[黄玉郎][1-252全本][图片ZIP][容量2.15G]](https://www.04ip.com/template/qe/style/noimg/7.jpg)
![【电子书】[合集/系列] 《幽游白书》[1-19卷全本][图片ZIP] 【电子书】[合集/系列] 《幽游白书》[1-19卷全本][图片ZIP]](https://www.04ip.com/template/qe/style/noimg/4.jpg)
![【电子书】[合集/系列] 《地狱老师》[冈野刚][1、2部全本][图片ZIP] 【电子书】[合集/系列] 《地狱老师》[冈野刚][1、2部全本][图片ZIP]](https://www.04ip.com/template/qe/style/noimg/18.jpg)
![【电子书】[合集/系列] 《小恐龙阿贡》[1-7卷全本][图片ZIP] 【电子书】[合集/系列] 《小恐龙阿贡》[1-7卷全本][图片ZIP]](https://www.04ip.com/template/qe/style/noimg/15.jpg)
![【电子书】[合集/系列] 《神兵玄奇》[黄玉郎][图片ZIP][共25.9G] 【电子书】[合集/系列] 《神兵玄奇》[黄玉郎][图片ZIP][共25.9G]](https://www.04ip.com/template/qe/style/noimg/12.jpg)