Qt中用QuaZip来压缩和解压缩文件

1、简介

QuaZIP是使用Qt,C++对ZLIB进行简单封装的用于压缩ZIP以及解压缩ZIP的开源库。如果你的Qt项目当中用到了压缩以及解压缩ZIP的话你可以考虑选择使用它。

官方主页:http://quazip.sourceforge.net/

souceforge下载地址:http://sourceforge.net/projects/quazip/

2、编译

QuaZip是基于Zlib库的,编译前要导入zlib的头文件,编译后会生成quazip.lib和quazip.dll文件(用的是vs)

如果用Qt来编译,直接编译会报错,需要添加zlib.h的包含目录,在quazip/quazip.pro文件中添加INCLUDEPATH += "qt源码目录\src\qtbase\src\3rdparty\zlib"

同时将quazip.pro文件中的SUBDIRS = quazip qztest注释,换成SUBDIRS = quazip,选择“重新构建”会生成libquazipd.a和quazipd.dll

3、应用

在自己新建的工程中将quazip.lib所在库目录,头文件所在的目录添加到工程。

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

静态方法压缩文件

static bool compressDir(QString fileCompressed, QString dir=QString(), bool recursive = true)

第一个参数fileCompressed表示压缩后的文件

第二个参数dir表示待压缩的目录

第三个参数recursive表示是否递归

解压缩用静态方法:extractDir

static QStringList extractDir(QString fileCompressed, QString dir=QString())

第一个参数fileCompressed表示待解压缩的文件

第二个参数表示解压缩存放的目录

下面给出程序代码例子:

[cpp] view plain copy

  1. #include <QCoreApplication>
  2. #include "JlCompress.h"
  3. int main(int argc, char *argv[])
  4. {
  5. QCoreApplication a(argc, argv);
  6. JlCompress::compressDir("d:\\test.zip", "d:\\test"); //压缩
  7. JlCompress::extractDir("d:\\test.zip", "d:\\test");//解压缩
  8. return a.exec();
  9. }
时间: 2024-11-13 13:47:37

Qt中用QuaZip来压缩和解压缩文件的相关文章

Linux学习---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar    .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件        zip -r 压缩文件名 源目录:压缩目录        unzip 压缩文件名:解压缩 .zip文件    .gz格式压缩和解压缩        gzip 源文件:压缩为.gz 格式的压缩文件,源文件会消失        gzip -c 源文件 > 压缩文件:压缩为.gz 格式,源

文件的压缩和解压缩

(1)说明 使用ZipArchive来压缩和解压缩文件需要添加依赖库(libz),使用需要包含SSZipArchive文件,如果使用cocoaPoads来安装框架,那么会自动的配置框架的使用环境 (2)相关代码 //压缩文件的第一种方式 /* 第一个参数:压缩文件要保存的位置 第二个参数:要压缩哪几个文件 */ [SSZipArchive createZipFileAtPath:fullpath withFilesAtPaths:arrayM]; //压缩文件的第二种方式 /* 第一个参数:文件

IOS开发之文件压缩和解压缩

前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面介绍的是iOS开发中会用到的压缩和解压缩的第三方框架的使用. 注意: 这个第三方框架代码文件夹是SSZipArchive,使用cocoapods搜索也是搜索SSZipArchive.但是如果你在github上直接搜索ZipArchive,搜到点赞数最多,维护频繁的ZipArchive库,然后下载代码,其实就是这个SSZipArchive. 第三方框架github网址:ht

iOS中使用ZipArchive压缩和解压缩文件-备

为什么我需要解压缩文件 有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因: 苹果App Store的50M下载限制 苹 果公司出于流量的考虑,规定在非WIFI环境下,限制用户只能下载小于50M的应用或游戏.这样一来,对于一些数据或数据包较大的应用,我们只能尽量减小 应用二进制包的体积.而把数据打包到zip中,这样App可以通过网络下载数据包,解压出所需要的内容,而且这样也可以动态的更新内容. 动态更新内容 这 一点在上面已经提过了.如果应用所需要的资源需要动态更新,一

java架构 [Java 基础] 使用java.util.zip包压缩和解压缩文件

Java API中的import java.util.zip.*;包下包含了Java对于压缩文件的所有相关操作. 我们可以使用该包中的方法,结合IO中的相关知识,进行文件的压缩和解压缩相关操作. ZipFile java中的每一个压缩文件都是可以使用ZipFile来进行表示的. File file = new File("F:/zippath.zip"); ZipFile zipFile = new ZipFile(file); System.out.println("压缩文

[Java 基础] 使用java.util.zip包压缩和解压缩文件

reference :  http://www.open-open.com/lib/view/open1381641653833.html Java API中的import java.util.zip.*;包下包含了Java对于压缩文件的所有相关操作. 我们可以使用该包中的方法,结合IO中的相关知识,进行文件的压缩和解压缩相关操作. ZipFile java中的每一个压缩文件都是可以使用ZipFile来进行表示的. File file = new File("F:/zippath.zip&quo

Linux tar(用来压缩和解压文件)

通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便

使用commons-compress操作zip文件(压缩和解压缩)

http://www.cnblogs.com/luxh/archive/2012/06/28/2568758.html Apache Commons Compress是一个压缩.解压缩文件的类库. 可以操作ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2格式的文件,功能比较强大. 在这里写两个用Commons Compress把文件压缩成zip和从zip解压缩的方法. 直接贴上工具类代码: /** * Zip文件工具类 * @a

ios开发网络学习五:MiMEType ,多线程下载文件思路,文件的压缩和解压缩

一:MiMEType:一般可以再百度上搜索到相应文件的MiMEType,或是利用c语言的api去获取文件的MiMEType : //对该文件发送一个异步请求,拿到文件的MIMEType - (void)MIMEType { //    NSString *file = @"file:///Users/文顶顶/Desktop/test.png"; [NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[