bool isAbsolutePath(const std::string& strPath)
判断strPath是不是绝对路径,如果是绝对路径返回true,否则返回false
std::string FileUtils::getStringFromFile(const std::string& filename)
将读取的文件数据放入字符串中返回.
void FileUtils::setSearchPaths(const std::vector<std::string>& searchPaths)
searchPaths中可以是一个绝对路径也可以是一个相对路径.
如果是相对路径就在前面加上_defaultResRootPath.
然后顺序加入到_searchPathArray中去.
void FileUtils::addSearchPath(const std::string &searchpath,const bool front)
和上一个函数一样,只是该函数加入一个路径.front如果是true加入到前面,否则加入到后面.
_defaultResRootPath
在android下等于"assets/"
在Linux mac ios下等于"/Resources/"
在Win32下等于GetCurrentDirectory()的返回值,将被转换成Unix类型,\转换成/
string FileUtilsAndroid::getWritablePath() const
取的可写目录
在android下返回Java Context.getCacheDir(),如是/data/data/engine.luacor.com/file/
在Linux下等于stat()的返回值?
在mac ios下等于Document,通过NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);取得.
在Win32下等于Debug模式下等于执行体的路径,Release模式等于应用的配置路径,如:
C:\Documents and Settings\username\Local Settings\Application Data\MyGame\
std::string fullPathForFilename(const std::string &filename);
举例说明,如果我们使用setSearchPaths加入两个路径"/mnt/sdcard/","internal_dir/",其中"internal_dir/"是相对路径,它将相对于_defaultResRootPath
使用setSearchResolutionsOrder加入搜索顺序"resources-ipadhd/", "resources-ipad/", "resources-iphonehd",
如果文件名是'sprite.png',并且如果fileLookup包含`key: sprite.png -> value: sprite.pvr.gz`
查找顺序将是
/mnt/sdcard/resources-ipadhd/sprite.pvr.gz
/mnt/sdcard/resources-ipad/sprite.pvr.gz
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz
/mnt/sdcard/sprite.pvr.gz
internal_dir/resources-ipadhd/sprite.pvr.gz
internal_dir/resources-ipad/sprite.pvr.gz
internal_dir/resources-iphonehd/sprite.pvr.gz
internal_dir/sprite.pvr.gz
如果文件名中包含路径如"gamescene/uilayer/sprite.png",并且如果fileLookup中包含`key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz'
搜索顺序将是
/mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz
/mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz
/mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz
/mnt/sdcard/gamescene/uilayer/sprite.pvr.gz
internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz
internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz
internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz
internal_dir/gamescene/uilayer/sprite.pvr.gz
void setSearchResolutionsOrder(const std::vector<std::string>& searchResolutionsOrder);
void addSearchResolutionsOrder(const std::string &order,const bool front=false);
设置查找顺序,详细机制将上面的介绍
void setFilenameLookupDictionary(const ValueMap& filenameLookupDict);
设置映射表,文件搜索总是先从映射表开始.详细机制将上面的介绍
bool isFileExist(const std::string& filename) const;
判断文件是否存在,存在返回true,不存在返回false
std::string fullPathFromRelativeFile(const std::string &filename, const std::string &relativeFile);