Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt: Simple Example for Quazip

Tags:

qt

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.

like image 413
ssk Avatar asked Apr 24 '12 00:04

ssk


People also ask

What is QuaZip?

QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP archives. It uses the Qt toolkit.


2 Answers

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();
like image 78
Bruce Hart Avatar answered Sep 21 '22 07:09

Bruce Hart


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

like image 34
William Truong Avatar answered Sep 21 '22 07:09

William Truong