LuaFileSystem 库

lfs库来自这里, 目前支持Windows、Linux、MacOSX、FreeBSD等.

lfs主要用作Lua对文件系统操作方法缺失的一种补充.

API

导入

导入方式: local lfs = require "lfs"

lfs.dir(path)

作用: 列出path目录下的所有文件、文件夹.

此方法返回值为一个可迭代当数组, 可以使用for filename in lfs.dir("script") do print(filename) end来进行测试

lfs.mkdir(dir)

作用: 创建一个文件夹

此方法返回: ok, err; oktrue表示创建成功, 否则err为失败原因.

lfs.rmdir(dir)

作用: 删除文件夹

此方法返回: ok, err; oktrue表示删除成功, 否则err为失败原因.

lfs.chdir(dir)

作用: 用于改变当前工作目录.

此方法返回一个boolean类型返回值来表示是否切换成功, 第二个返回值为失败原因.

lfs.currentdir()

作用: 列出当前完整路径.

此方法返回一个字符串类型的返回值来表示当前路径.

lfs.attributes(file/dir)

作用: 查看文件或文件夹属性

此方法返回一个table类型的返回值, 里面有stat方法所能读取到的所有属性.

作用: 创建一个link.

此方法返回: ok, err; oktrue表示删除成功, 否则err为失败原因.

lfs.setmode(old, new, [, mode])

作用: 设置文件模式(binary/text).

此方法返回: ok, err; oktrue表示删除成功, 否则err为失败原因.

最后

  • 其它一些不常用的方法这里不做介绍, 有兴趣可以参考lfs库的官方介绍.

  • lfs库是同步IO操作, 不建议在NFS等网络文件系统场景下使用.