QT开源的ZIP
来源:互联网 发布:杨辉三角c语言程序 编辑:程序博客网 时间:2024/06/06 05:24
一。简介
QuaZIP是使用Qt,C++对ZLIB进行简单封装的用于压缩ZIP以及解压缩ZIP的开源库。
如果你的Qt项目当中用到了压缩以及解压缩ZIP的话你可以考虑选择使用它。
地址:官方主页
二。编译
QuaZIP目前支持以下几个平台:
- linux-g++ (Ubuntu 11.10, Qt 4.7.4)
- freebsd-g++ (Qt 4.0.0
- hpux-acc (HP-UX 11.11)
- hpux-g++ (HP-UX 11.11)
- win32-g++ (MinGW)
- win32-msvc2010 (MS VS 2010 Express, Qt 4.8.4)
- win32-msvc2010 (Qt Creator, Qt 5.0.1)
- some Symbian version, reportedly
QuaZIP是基于ZLIB库的,所以编译之前必须编译完ZLIB或者导入ZLIB的LIB和头文件。
默认QuaZIP是编译为DLL或者SO文件的。如果你想直接使用源代码的话你可以把所有导出类的标识符QUAZIP_EXPORT注释了,就可以编译通过
而不会生成DLL或者SO文件。
下面你就可以按照你所使用的平台和方式编译QuaZIP。三。使用
QuaZIP共有以下几个类
JlCompress典型操作工具类QuaAdler32Adler32 算法校验和QuaChecksum32校验和接口QuaCrc32CRC32 校验和QuaGzipFileGZIP 文件操作QuaZIODevice 压缩/解压 QIODeviceQuaZipZIP 文件QuaZipDirZIP文件内目录导航QuaZipFileZIP文件内的文件QuaZipFileInfoZIP压缩包内的文件信息QuaZipFilePrivateQuaZip的接口QuaZipNewInfo被创建的文件信息QuaZipPrivateQuaZIP内部类
下面给出一个自己用的解压缩ZIP的例子
下面给出一个自己用的解压缩ZIP的例子
- bool Ziper::Extract(const QString& in_file_path, const QString& out_file_path)
- {
- QuaZip archive(in_file_path);
- if (!archive.open(QuaZip::mdUnzip))
- return false;
- QString path = out_file_path;
- if (!path.endsWith("/") && !out_file_path.endsWith("\\"))
- path += "/";
- QDir dir(out_file_path);
- if (!dir.exists())
- dir.mkpath(out_file_path);
- for( bool f = archive.goToFirstFile(); f; f = archive.goToNextFile() )
- {
- QString filePath = archive.getCurrentFileName();
- QuaZipFile zFile(archive.getZipName(), filePath);
- zFile.open(QIODevice::ReadOnly );
- QByteArray ba = zFile.readAll();
- zFile.close();
- if (filePath.endsWith("/"))
- {
- dir.mkpath(filePath);
- }
- else
- {
- QFile dstFile(path + filePath);
- if (!dstFile.open(QIODevice::WriteOnly))
- return false;
- dstFile.write(ba);
- dstFile.close();
- }
- }
- return true;
- }
0 0
- QT开源的ZIP
- 开源代码的zip包
- Qt 之 ZIP开源库 QuaZIP
- Qt 之 ZIP开源库 QuaZIP
- Qt 之 ZIP开源库 QuaZIP
- Qt QuaZip 解压zip文件
- Qt如何上传zip文件
- zip压缩加密解密的开源工具包zip4j
- 开源软件 7-Zip
- 开源压缩软件 ---7-zip
- Qt之QuaZIP(zip压缩/解压缩)
- Qt将文件夹压缩成ZIP文件
- Qt之QuaZIP(zip压缩/解压缩)
- 7-Zip 开源免费解压软件
- 免费开源解压缩软件7-Zip
- zip和tar.zip的区别
- Qt如何上传zip文件(两种形式),及随机生成规定长度的字符串的小方法
- Java 的Zip操作
- 不使用官方SDK,实现微信分享(发送到朋友,发送到朋友圈)
- 关于使用jQuery EASYUI的一些小技巧
- 为什么越简单的技术对于开发人员越难
- Raspberry Pi开始流行 小心暗藏风险
- 花季少女都去哪里了?
- QT开源的ZIP
- 一回头u
- 设计模式22——Visitor设计模式
- mysql密码掉了
- GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别
- 转载!!!Java中Collections类的排序sort函数两种用法
- SQL Server LocalDB 在 ASP.NET中的应用
- JNI编程入门(-)
- 发现jQuery UI中Tooltip的一个小Bug