首页 > 代码库 > Lua学习笔记8:文件读写

Lua学习笔记8:文件读写

lua中文件读写经常在游戏配置中用到,比如客户端的音效音乐开关等。


Lua官方API文档:点这里


I/O库为文件操作提供4个主要函数:io.open(),io.read(),io.write和io.close()。


io.open(文件路径,打开方式):以指定方式打开一个文件,打开成功返回一个文件句柄,失败返回nil和错误描述。

可以传入以下六种打开方式:

“r”读模式默认

“w”:写模式

“a”:附加模式

“r+”:更新模式所有以前的数据保留

“w+”:更新模式所有以前的数据擦除

“a+”添加更新模式以前的数据保存下来写作是只允许在文件的末尾


io.read(读取方式):根据指定方式读取文件,返回读到的字符串或数字,或者nil。

可以有五种去读方式:

“*n”:读取一个数字,这个唯一返回值是数字而不是字符串的;

"*a":从当前位置,读取接下来的所有内容,如果在文件结尾处,返回一个空字符串;

"l":读取下一行内容,不包括换行符,文件结尾处返回nil,默认读取方式

"L":读取下一行内容,包括换行符(如果存在),文件结尾处返回nil

number:读取指定字节数的字符串,在文件结尾处返回nil,如果number为0,不读取直接返回空字符串。


io.write()

写入每一个参数的值到文件,参数必须为字符串或者数字。写入成功返回这个文件,失败返回nil和错误描述。

无参。


io.close()

关闭打开的文件,无参。


实例:

--读取指定文件
function getFile(file_name)
  local f = assert(io.open(file_name, 'r'))
  local string = f:read("*all")
  f:close()
  return string
end

--字符串写入
function writeFile(file_name,string)
 local f = assert(io.open(file_name, 'w'))
 f:write(string)
 f:close()
end