使用qt的QZipWriter压缩文件夹及其文件
时间: 2023-06-04 12:03:44 浏览: 880
Qt 自带的压缩QZipWriter Demo
可以使用QZipWriter对文件夹及其文件进行压缩。使用QDir类获取文件夹中的所有文件,然后使用QZipWriter将这些文件压缩为一个zip文件。以下是一个基本示例:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QFile>
#include <QZipWriter>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 文件夹路径
QString dirPath = "C:/Folder";
// zip文件路径
QString zipFileName = "C:/Folder.zip";
// 创建QZipWriter对象
QZipWriter zipWriter(zipFileName);
// 获取文件夹中的所有文件
QDir dir(dirPath);
QStringList fileList = dir.entryList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
// 遍历文件列表,将文件写入zip文件
foreach(QString file, fileList)
{
QString filePath = dirPath + "/" + file;
QFile inFile(filePath);
if(!inFile.open(QIODevice::ReadOnly))
{
qDebug() << "Failed to open file:" << filePath;
return -1;
}
// 将文件添加到zip文件中
zipWriter.addFile(file, inFile.readAll());
inFile.close();
}
// 结束zip文件的写入
zipWriter.close();
qDebug() << "Compression complete.";
return a.exec();
}
```
阅读全文