Quazip的使用总结
Quazip是 Qt平台下面的一个非常受欢迎的压缩解压缩库。下面介绍本人平常使用的情况。
压缩
我主要用到的是分层压缩就是按照既定文件顺序压缩:
- 选择压缩文件存放的位置代码示例:
QString dstFileName=QFileDialog::getSaveFileName(this,“另存为”,“D:/xxx/”,"*.zip");让后根据需要放到另外线程执行,可使用QtConcurrent。 - 具体压缩过程:
I.获取要压缩文件夹比如QDir fileDir(path);
II.设置过滤过滤掉".“和”…"fileDir.setFilter(QDir::AllEntries|QDir::NoDotAnd
Dot)
III.得到所有的必要的压缩文件和目录信息:QFileInfoList fileInfoList = fileDir.entryInfoList();
IV.创建压缩文件:
OuaZip zipFile( dstFileName);
if (!zipFile.open(QuaZip::mdCreate)) {
return;
}
QuaZipFile outFile(&zipFile);
//写入到压缩文件的中介。
QFile infile;
V.压缩文件和文件夹的函数
void zipFilelist(QFileInfoList &files, QuaZipFile &outFile, QFile &infile) {
for(QFileInfo file:fileIn