我无法在android项目中使用cocos2d-x FileUtils打开文件。我正在使用Cocos2d-x v2.2.3和create_project.py来设置我的项目结构。有一个名为Resources的文件夹,其中包含一些HelloWorld png。我想将其他文件添加到此文件夹,然后使用标准文件流操作执行读取操作。但是,在Android模拟器上运行时,打开文件会失败。我尝试过使用CCFileUtils :: sharedFileUtils() - > getWritablePath(),然后附加文件名。使用Cocos2d-x在android上打开文件的正确方法是什么?
答案 0 :(得分:1)
文件夹资源包含应用程序仅具有读访问权限的文件。 要获取这些文件的正确路径,请使用:
string yourFilename = "hello.txt"; // only (relative path+) filename here, no absolute path!
string fullPath = CCFileUtils::sharedFileUtils()->fullPathForFilename(yourFilename.c_str());
使用fullPath
打开文件!
例程搜索可以扩展的多个路径。
请参阅CCFileUtils::fullPathForFilename()
要定义搜索路径和搜索顺序,请执行以下操作:
vector<string> searchPaths;
searchPaths.push_back("1st_path");
searchPaths.push_back("2nd_path");
searchPaths.push_back("3rd_path");
CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(searchPaths);
对于Android应用,资源文件夹已经是搜索路径的一部分,因此无需在此处添加。
要查看不同的路径,请尝试:
CCLOG ("full path: %s", fullPath.c_str());
CCLOG ("writable path: %s", CCFileUtils::sharedFileUtils()->getWritablePath().c_str());