• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lua的文件管理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

lua没有自己的文件管理 只有读取和写入文件,但是可以通过调用lfs(LuaFileSystem),lfs是一个

用于lua进行文件访问的库,支持lua5.1和lua5.2,并且跨平台

lfs的使用:

"lfs" = {  --dump(lfs )
  "_COPYRIGHT"      = "Copyright (C) 2003 Kepler Project"
  "_DESCRIPTION"   = "LuaFileSystem is a Lua library developed to complement the set of functions   related to file systems offered by the standard Lua distribution"
  "_VERSION"      = "LuaFileSystem 1.4.2"
  "attributes"         = function: 00B3D7A8
  "chdir"                = function: 00B3D7C8
  "currentdir"      = function: 00B3D7E8
  "dir"         = function: 00B3D808
  "lock"         = function: 00B3D828
  "mkdir"         = function: 00B3D868
  "rmdir"       = function: 00B3D888
  "setmode"              = function: 00B3D8C8
  "symlinkattributes" = function: 00B3D8A8
  "touch"        = function: 00B3D908
  "unlock"      = function: 00B3D948
}

常用的方法:

lfs.currentdir() --返回当前所在的全路径字符串

lfs.attributes(dir) -- 返回文件的属性table

lfs.dir(path)--用于遍历文件加中的对象

  

--遍历
function getAllFiles(path, files)
    files = files or {}
    for file in lfs.dir(path) do
        if file ~= "." and file ~= ".." then
            local subPath = path .. "\\" .. file 
            local attr = lfs.attributes(subPath)
            assert(type(attr) == "table")
            if attr.mode == "directory" then
                getAllFiles(subPath, files)
            else
                table.insert(files, subPath)                                              
            end 
        end
    end
    return files
end

--查找
function findInDir (path, wefind, r_table, intofolder)  
    for file in lfs.dir(path) do  
        if file ~= "." and file ~= ".." then  
            print(file)
            local f = path..'/'..file  
            if string.find(f, wefind) ~= nil then  
                table.insert(r_table, f)  
            end  
            local attr = lfs.attributes(f)  
            assert(type(attr) == "table")  
            if attr.mode == "directory" and intofolder then  
                findInDir(f, wefind, r_table, intofolder)  
            else  

            end  
        end  
    end  
end

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap