一般判断文件是否存在以及读写文件都要用到的CCFileUtils类。具体如下:
local sharedFileUtils = CCFileUtils:sharedFileUtils() --创建了一个CCFileUtils实例
local basePath = sharedFileUtils:getWritablePath() --获得可写路径
这里为什么要获得可写路径呢?这是在android中,要想写入文件,我们首先需要获取包路径,这个路径跟程序在windows下的路径不一样。如果在读取或者写入文件时,没有加入包路径,将读取不到指定文件或无法写入到指定路径中。
判读文件按是否存在:
local pathForFileName = sharedFileUtils:fullPathForFilename(basePath .. fileName)
if sharedFileUtils:isFileExist(basePath .. fileName) then
return true
end
如上所说的,在文件名前面还需要包路径:basePath
删除一个文件:os.remove(string.format(basePath .. fileName))
这里再说一下CCRenderTexture类saveToFile函数,这个函数用来保存图片,具体用法为:
drawLayer._target:saveToFile(fileName, kCCImageFormatPNG)
第一个参数是图片文件路径和文件名,第二个参数是图片格式。注意,当给saveTofile函数传入第一个参数fileName的时候,saveTofile函数应景默认添加了一个包路径basePath。