2012-04-24 48 views
6

Tôi đã tạo thư viện quazip. Tôi cần một ví dụ đơn giản cho thấy cách giải nén tệp zip. Ví dụ.Qt: Ví dụ đơn giản cho Quazip

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

Các thử nghiệm được hiển thị trong mã thông báo có đôi chút khó hiểu. Tôi đã tìm kiếm một khoảng thời gian ngắn để tìm một ví dụ và tôi không thể tìm thấy một ví dụ.

Trả lời

10

Dưới đây là ví dụ nhanh về cách đọc tệp. Bạn sẽ cần phải thực hiện một số sửa đổi mã trong vòng lặp để ghi dữ liệu vào một tập tin hoặc thực hiện bất cứ điều gì các hoạt động ứng dụng của bạn yêu cầu:

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

Bạn có thể sử dụng chức năng tĩnh của JlCompress lớp. Nó rất dễ sử dụng.

tĩnh công viên Chức năng

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) 

Nguồn: http://quazip.sourceforge.net/classJlCompress.html

Các vấn đề liên quan