Qt学习笔记(八)qzip 压缩与解压

Qt源码中有qzipreader类来解压文件,qzipwriter类来压缩文件
源码需要在安装Qt时勾选src,解压后在src文件夹中

#include<QtGui\5.7.1\QtGui\private\qzipreader_p.h>
#include<QtGui\5.7.1\QtGui\private\qzipwriter_p.h>

示例

/*压缩文件*/
void writer()
{
   QString path;//压缩路径
   QZipWriter *writer = new QZipWriter(path);
    writer->addDirectory(unCompress);//添加文件夹
    QFile file1(data);
    if (!file1.exists())
    {
        qCritical() << QString::fromLocal8Bit("error,%1 is not exit").arg(data);
        return;
    }
    file1.open(QIODevice::ReadOnly);
    writer->addFile(data, file1.readAll());//添加文件
    file1.close();  
    writer->close();
}
/*解压文件*/
void reader()
{
    QString path;//压缩路径
     QZipReader reader(path);
    QString ddd("");
    reader.extractAll(ddd);//解压文件夹到当前目录
    QZipReader::FileInfo fileInfo = reader.entryInfoAt(0);//文件夹名称

    QFile file1(data);
    file1.open(QIODevice::WriteOnly);
    file1.write(reader.fileData(QString::fromLocal8Bit("%1").arg(data)));//解压文件
    file1.close();
    reader.close();
}

注意事项

压缩的文件名中不能带有中文。

猜你喜欢

转载自blog.csdn.net/xuxunjie147/article/details/80610991