zoukankan      html  css  js  c++  java
  • Qt之zip压缩/解压缩(QuaZIP)

     

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

    简述

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

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

    1. 无法很好地压缩/解压缩文件夹。
    2. 只能将一个文件压缩为某种格式,压缩后的文件无法通过其它解压工具打开(如: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 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();
  • 相关阅读:
    k-means算法
    偏差-方差分解Bias-Variance Decomposition
    常见machine learning模型实现
    Bag-of-words模型、TF-IDF模型
    atomic原子操作
    oc 计算 带括号 式子
    oc 基本语法 类 静态变量 常量
    通过文件头标识判断图片格式
    十大经典排序算法最强总结(含JAVA代码实现)(转)
    JPEG格式 介绍
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/7345545.html
Copyright © 2011-2022 走看看