Qt:Quazip的简单示例

时间:2012-04-24 00:14:20

标签: qt quazip

我构建了quazip库。我需要一个简单的例子来说明如何解压缩zip文件。例如。

Quazip zipFile( QFile("test.zip") );
zipFile.unzip();

quazip中显示的测试有点令人困惑。我搜索了一小段时间来找到一个例子而我找不到一个。

2 个答案:

答案 0 :(得分:10)

这是一个显示如何读取文件的快速示例。您需要对循环中的代码进行一些修改,以将数据写入文件或执行应用程序所需的任何操作:

QuaZip zip("zipFile.zip");
zip.open(QuaZip::mdUnzip);

QuaZipFile file(&zip);

for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile()) {
    file.open(QIODevice::ReadOnly);
    //same functionality as QIODevice::readData() -- data is a char*, maxSize is qint64
    file.readData(data,maxSize);
    //do something with the data
    file.close();
}

zip.close();

答案 1 :(得分:8)

您可以使用JlCompress类的静态函数。这很容易使用。

静态公共成员函数

static bool     compressFile (QString fileCompressed, QString file)
static bool     compressFiles (QString fileCompressed, QStringList files)
static bool     compressDir (QString fileCompressed, QString dir=QString(), bool recursive=true)
static QString  extractFile (QString fileCompressed, QString fileName, QString fileDest=QString())
static QStringList  extractFiles (QString fileCompressed, QStringList files, QString dir=QString())
static QStringList  extractDir (QString fileCompressed, QString dir=QString()) 
static QStringList  getFileList (QString fileCompressed)

来源:http://quazip.sourceforge.net/classJlCompress.html