2012-04-24 12 views
6

Ho costruito la libreria quazip. Ho bisogno di un semplice esempio che mostra come decomprimere un file zip. Per esempio.Qt: semplice esempio per Quazip

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

I test mostrati in quazip sono un po 'confusi. Ho cercato un po 'di tempo per trovare un esempio e non sono riuscito a trovarne uno.

risposta

10

Ecco un breve esempio che mostra come leggere i file. Sarà necessario apportare alcune modifiche al codice nel ciclo di scrivere i dati in un file o eseguire qualsiasi operazione l'applicazione richiede:

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

È possibile utilizzare le funzioni statiche della JlCompress di classe. È molto facile da usare.

Funzioni

Statico utente pubbliche

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) 

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