在使用cocos api的Downloader或者AssetsManager下载文件到真机Document目录时,如果是直接下载到document根目录,是没问题的,如果是下载存放到了某个不存在的子目录,比如Document/vvv/,这个vvv是不存在的,需要自己手动创建出来,不然可能会提示:
The file “CFNetworkDownload_Gd8iA6.tmp” doesn’t exist
下面代码可以在document内创建目录:
std::string localPath = FileUtils::getInstance()->getWritablePath()+"vvv/";
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32) DIR *pDir = NULL; pDir = opendir (localPath.c_str()); if (! pDir) { mkdir(localPath.c_str(), S_IRWXU | S_IRWXG | S_IRWXO); } #else if ((GetFileAttributesA(localPath.c_str())) == INVALID_FILE_ATTRIBUTES) { CreateDirectoryA(localPath.c_str(), 0); } #endif
或者使用cocos自身提供的api : FileUtils的 createDirectory(), 对应的删除目录方法也有写: removeDirectory()
注意在对本地文件系统进行创建删除等操作时要区分下平台,比如mkdir ,rm,等命令是linux下的, windows平台不是这么写的。