1、unsigned char* getFileDataFromZip(const char* pszZipFilePath, const char* pszFileName, unsigned long * pSize);
unsigned long size;
CCFileUtils::sharedFileUtils()->getFileDataFromZip("configs/name.zip", "name.txt", &size);
// param1【in】:压缩文件的路径
// param2【in】:要获取压缩文件中的某个文件中的数据
// param3【out】:读取文件数据的大小
===================================================================================
CCFileUtils:
数据成员:
CCDictionary* m_pFilenameLookupDict; // 名字字典,使用加密文件时适合用
std::vector
std::vector
std::map
函数成员:
==============设置搜索路径========================
virtual void setSearchPaths(const std::vector
virtual void addSearchPath(const char* path);
==============设置子搜索路径======================
virtual void setSearchResolutionsOrder(const std::vector
virtual void addSearchResolutionsOrder(const char* order);
===============设置名字字典=======================
virtual void loadFilenameLookupDictionaryFromFile(const char* filename);
virtual void setFilenameLookupDictionary(CCDictionary* pFilenameLookupDict);
================================================
fullPathForFilename()搜索方式:
1、先从全路径缓存m_fullPathCache中搜索
如果没有再按以下方式搜索:
1、 std::string newName = getNewFilename();
从m_pFilenameLookupDict名字字典中查找替换名字。
2、组合路径:
路径1 + 子路径1 + 文件名
路径1 + 子路径2 + 文件名
路径1 + 子路径3 + 文件名
路径1 + 文件名
路径2 + 子路径1 + 文件名
路径2 + 子路径2 + 文件名
路径2 + 子路径3 + 文件名
路径2 + 文件名
。。。。
》》 搜索路径和子搜索路径都用vector存放路径,做成栈的结构,所以the lower index,the higher priority。
》》 const char* CCFileUtils::fullPathFromRelativeFile(const char *pszFilename, const char *pszRelativeFile)
param1:从名字字典m_pFilenameLookupDict中获取的替换文件名 param2:相对路径,返回两个参数相加而成的fullpath,这和fullPathForFilename()不同。