lua io.open失败 no such ...

最近cocos2d项目中用到了lua的io.open,但是一直失败

 

首先,定位原因,io.open返回2个值

local file, errInfo = io.open('a.txt', r)

如果失败,第一个值为nil,第二个值为错误信息

错误信息为:No such file or directory

但是查看对应的文件路径和文件,都是正常的

之后又搜了一大圈,看了源码,发现了这个函数:

getSuitableFOpen

该函数返回对应平台下的用于open的路径,再看看内部实现,发现是中文路径的锅

 

解决

最终解决方案为:打开的文件名先用getSuitableFOpen转换即可

local path = cc.FileUtils:getInstance():getSuitableFOpen(path) -- 转换下路径
local file, errInfo = io.open(path, 'r')

 

你可能感兴趣的:(Lua/js/ts)