zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。
qlibzip 是基于zlib的一个实用程序库,使用Qt和Windows一些底层API实现,它主要用于将文件夹压缩到一个zip文件,或将一个zip文件解压缩到文件夹。
//------------------------------------------------------------------------------
// Description: Compress files to a ZIP file.
// Parameter: sourceFiles Source files, supporting wildcards.
// Parameter: destFile The ZIP file path.
// Return Value: true/false.
//------------------------------------------------------------------------------
extern "C"
bool ZipCompress(const QString &sourceFiles, const QString &destFile);
//------------------------------------------------------------------------------
// Description: Extract files from a ZIP file.
// Parameter: sourceFile Source ZIP file.
// Parameter: destFolder The folder to output files. The parent of the
// specified folder MUST exist.
// Return Value: true/false.
//------------------------------------------------------------------------------
extern "C"
bool ZipExtract(const QString &sourceFile, const QString &destFolder);
//------------------------------------------------------------------------------
// Description: Extract special file from a ZIP file into memory block.
// Parameter: sourceFile Source ZIP file.
// Parameter: entryName Special entry name in ZIP file.
// Return Value: Extracted memory block.
//------------------------------------------------------------------------------
extern "C"
QByteArray ZipExtractItem(const QString &sourceFile, const QString &entryName);
具体实例请看demo文件夹。
1