8

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

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

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

4

2 回答 2

12

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

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();
于 2012-04-24T14:24:36.667 回答
9

您可以使用 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

于 2013-06-21T04:11:02.050 回答