Qt: простой пример для Quazip

Я построил библиотеку quazip. Мне нужен простой пример, который показывает, как разархивировать файл zip. Например.

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

тесты, показанные в quazip, немного запутывают. Я искал короткое время, чтобы найти пример, и я не смог его найти.

2 ответов


вот небольшой пример, показывающий, как читать файлы. Вам нужно будет внести некоторые изменения в код в цикле, чтобы записать данные в файл или выполнить любые операции, необходимые вашему приложению:

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

вы можете использовать статические функции класса 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