ssk
ssk

Reputation: 9255

Qt: Simple Example for Quazip

I built the quazip library. I need a simple example that shows how to unzip a zip File. For example.

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

Tests shown in quazip is little bit confusing. I searched for a brief amount of time to find an example and I wasn't able to find one.

Upvotes: 8

Views: 16967

Answers (2)

William Truong
William Truong

Reputation: 247

You can use static functions of the class JlCompress. It's very easy to use.

Static Public Member Functions

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)

Source: http://quazip.sourceforge.net/classJlCompress.html

Upvotes: 10

Bruce Hart
Bruce Hart

Reputation: 214

Here is a quick example showing how to read the files. You will need to make some modifications to the code in the loop to write the data to a file or perform whatever operations your application requires:

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();

Upvotes: 13

Related Questions