cocos2d-x -lua 純lua遞歸刪除文件夾

原文:http://www.cocoachina.com/bbs/read.php?tid=212786

2. 純lua
純 lua 其實(shí)是個(gè)噱頭。這里還是要依賴 lfs(lua file sytem),好在 quick-cocos2d-x 已經(jīng)包含了這個(gè)庫。lfs.rmdir 命令 和 os.remove 命令一樣,只能刪除空文件夾。因此實(shí)現(xiàn)類似 rm -rf 的功能, 必須要遞歸刪除文件夾中所有的文件和子文件夾。讓我們擴(kuò)展一下 os 包。

function os.exists(path)
    return CCFileUtils:sharedFileUtils():isFileExist(path)
end
 
function os.mkdir(path)
    if not os.exists(path) then
        return lfs.mkdir(path)
    end
    return true
end
 
function os.rmdir(path)
    print("os.rmdir:", path)
    if os.exists(path) then
        local function _rmdir(path)
            local iter, dir_obj = lfs.dir(path)
            while true do
                local dir = iter(dir_obj)
                if dir == nil then break end
                if dir ~= "." and dir ~= ".." then
                    local curDir = path..dir
                    local mode = lfs.attributes(curDir, "mode") 
                    if mode == "directory" then
                        _rmdir(curDir.."/")
                    elseif mode == "file" then
                        os.remove(curDir)
                    end
                end
            end
            local succ, des = os.remove(path)
            if des then print(des) end
            return succ
        end
        _rmdir(path)
    end
    return true
end

上面的代碼在 iOS 模擬器和 Android 真機(jī)上測(cè)試成功。Windows系統(tǒng)、Mac OSX 以及 iOS 真機(jī)還沒有測(cè)試。我測(cè)試后會(huì)立即更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,086評(píng)論 4 61
  • 導(dǎo)讀 自2017年1月1日起,CRS(全球稅務(wù)賬戶申報(bào)標(biāo)準(zhǔn)法案)即將大規(guī)模生效,中國(guó)將成為第二批實(shí)施CRS的國(guó)家(...
    清大創(chuàng)融閱讀 1,529評(píng)論 0 3
  • 人的心臟里, 總有血液流進(jìn)流出, 為什么我的心里, 血, 越來越少。
    deedee閱讀 249評(píng)論 1 1
  • function convertHexStringToNormal( str )return (str:gsub(...
    晴茗閱讀 717評(píng)論 0 0

友情鏈接更多精彩內(nèi)容