Question

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.

Was it helpful?

Solution

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

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top