代码示例:
Lua 提供了两种文件操作模式:简单模式和完全模式。简单模式使用当前输入文件和当前输出文件进行操作,适合进行简单的文件读写。完全模式则使用文件句柄进行操作,适合更复杂的文件操作,如同时处理多个文件。
简单模式
在简单模式中,可以使用 io.open
打开文件,并通过 io.input
和 io.output
设置当前输入或输出文件。例如,以下代码以只读方式打开文件,并读取第一行内容:
file = io.open("test.lua", "r")
io.input(file)
print(io.read())
io.close(file)
如果要追加内容到文件末尾,可以使用 a
模式打开文件,并使用 io.write
写入内容:
file = io.open("test.lua", "a")
io.output(file)
io.write("-- test.lua 文件末尾注释")
io.close(file)
完全模式
完全模式使用文件句柄进行操作,可以通过 file:read
、file:write
、file:seek
等方法进行文件操作。例如,以下代码以只读方式打开文件,并读取第一行内容:
file = io.open("test.lua", "r")
print(file:read())
file:close()
如果要追加内容到文件末尾,可以使用 a
模式打开文件,并使用 file:write
写入内容:
file = io.open("test.lua", "a")
file:write("--test")
file:close()
常用函数
io.tmpfile()
: 返回一个临时文件句柄,程序结束时自动删除。io.type(file)
: 检测是否为可用的文件句柄。io.flush()
: 向文件写入缓冲中的所有数据。io.lines(optional file name)
: 返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil
。
文件打开模式
r
: 只读w
: 写(清空文件内容)a
: 追加r+
: 读写(文件必须存在)w+
: 读写(清空文件内容)a+
: 读写追加(文件必须存在)b
: 二进制模式
这些是 Lua 文件 I/O 操作的基础,可以根据需要选择合适的模式和函数进行文件操作。更多详细信息可以参考 Lua 官方文档或相关教程。
喜欢本文,请点赞、收藏和关注!