Lua 文件 I/O 学习笔记

文件 I/O 操作是 Lua 程序中常用的操作之一,用于读取和写入文件。在 Lua 中,文件操作需要使用标准 I/O 库。

打开文件

要打开一个文件,可以使用 io.open 函数,并指定文件名和打开模式,例如:

luaCopy Code
local file = io.open("file.txt", "r")

上面的代码表示以只读模式打开 file.txt 文件,并将文件对象赋值给 file 变量。打开模式有以下选项:

  • "r":只读模式。
  • "w":覆盖写入模式。
  • "a":追加写入模式。
  • "b":二进制文件打开模式。
  • "+":可读可写模式。

读取文件内容

要读取文件的内容,可以使用 file:read 函数,并指定需要读取的字节数或读取模式,例如:

luaCopy Code
-- 读取整个文件内容 local content = file:read("*all") -- 读取一行内容 local line = file:read("*line") -- 读取固定长度的内容 local data = file:read(1024)

"*all" 表示读取整个文件内容,"*line" 表示读取一行内容,如果需要读取固定长度的内容,则需要指定具体的字节数。

写入文件内容

要向文件写入内容,可以使用 file:write 函数,例如:

luaCopy Code
file:write("Hello, world!\n")

上面的代码将字符串 "Hello, world!\n" 写入文件。

关闭文件

完成文件操作后,需要关闭文件以释放资源,可以使用 file:close 函数,例如:

luaCopy Code
file:close()

实例

下面是一个简单的实例,演示了如何读取文件内容并输出到控制台:

luaCopy Code
-- 打开文件 local file = io.open("file.txt", "r") -- 读取文件内容 local content = file:read("*all") -- 输出文件内容 print(content) -- 关闭文件 file:close()

上面的代码会打开名为 file.txt 的文件,并将文件内容读取到 content 变量中,最后将文件内容输出到控制台,并关闭文件。