wxWidgets中解压ZIP文件的代码
来源:互联网 发布:淘宝阿里妈妈推广 编辑:程序博客网 时间:2024/05/17 22:15
wxWidgets2.9.3
#include <wx/filesys.h>
#include <wx/zipstrm.h>
#include <wx/wfstream.h>
#include <wx/log.h>
#include <memory>
bool ExtractZipFiles(const wxString& aZipFile, const wxString& aTargetDir)
{
wxString PathSeparator=wxFileName::GetPathSeparator();
wxString TargetDir;
if (aTargetDir.substr(aTargetDir.Length()-1,1) != PathSeparator)
TargetDir=aTargetDir + PathSeparator;
else
TargetDir=aTargetDir;
wxFileInputStream in(aZipFile);
if (!in) {
wxLogError(wxT("打开压缩文件 '") + aZipFile + wxT("'错误!"));
return false;
}
wxZipInputStream zip(in);
wxZipEntry* entry=zip.GetNextEntry();
while (entry != NULL)
{
wxString name=entry->GetName();
wxFileName fname(name);
wxString FilePath=fname.GetPath();
if (!wxFileName::DirExists(TargetDir + FilePath))
wxFileName::Mkdir(TargetDir + FilePath,wxS_DIR_DEFAULT,wxPATH_MKDIR_FULL);
wxFFileOutputStream file(TargetDir + name, wxT("w"));
if (!file) {
wxLogError(wxT("创建输出文件 '") + TargetDir + name + wxT("'错误."));
return false;
}
zip.Read(file);
delete entry;
entry=zip.GetNextEntry();
}
return true;
}
使用示例:ExtractZipFiles(wxT("c:\\test.zip"),wxT("c:\\test")); //其中C:\\test目录必须存在
- wxWidgets中解压ZIP文件的代码
- 解压*.zip.*的文件
- 解压7zip文件代码
- Android Zip文件解压代码
- 代码写解压zip文件
- Android Zip文件解压代码
- 在Java代码中使用ZipFile解压zip文件
- 用java代码实现文件的zip压缩与解压
- Android zip解压的代码
- android中 解压对应的zip文件 到指定文件
- 解压.zip格式的文件
- asp.net中解压zip文件
- Android SD卡中解压.zip文件
- 在 Java 中解压 zip 文件
- java解压zip,rar的代码
- 正确的 zip 压缩与解压代码
- 压缩zip文件和解压zip格式的文件
- nodejs zip 解压zip文件
- DevExpress xtraGrid控件的使用
- 进销存管理软件提供支持
- MFC开机自启动
- Java 获取客户端ip返回127.0.0.1问题
- JDK7新特性<六> 监听文件系统的更改
- wxWidgets中解压ZIP文件的代码
- PO取消(包括头、行、发运行)
- JDK7新特性<七> 遍历文件树
- android 2.3 app没有 android.permission.MODIFY_PHONE_STATE权限,导致来电自动接听功能难以实现
- PS域业务与CS域业务的区别
- JDK7新特性<八>异步io/AIO
- struts2 no result defined 怪问题
- JDK7新特性<一>概述
- 19.VC(ui)-加载图片资源的方法(随手代码)