【Lua】文件操作

记录学习过程

创建日期:2019-04-14

Lua文件操作

Lua I/O库用于对文件进行读取和写入操作

分为简单模式和完全模式

模式操作对象同一时间操作文件数量方法
简单模式IO一个io.function_name
完全模式文件多个file:function_name

简单模式,以IO为对象进行文件操作,同一时间只能操作一个文件,使用io.function_name
完全模式,以文件为对象进行文件操作,同一时间可操作多个文件,使用file:function_name

input和output,输入输出是相当程序而言,输入指的是文件内容输入到程序中,而输出指的是程序输出内容到文件中

打开文件操作

 file = io.open(filename[, mode])

mode的值

描述
r只读,文件必须存在
w只写,若文件存在,文件内容会清空;文件不存在则创建文件
a追加,文件不存在则创建文件
r+可读可写,文件必须存在
w+可读可写,若文件存在,文件内容会清空;文件不存在则创建文件
a+与a类似,可读可写
b二进制模式
+表示可读可写

简单模式

文件读取

file =io.open("data.txt","r")
io.input(file)
print(io.read())--读取一行
io.close(file)

打开文件后一定要进行关闭操作,表示文件使用完毕,以防出现一些未知的错误,因为文件可能被多个程序或用户使用

read() 的参数

描述
“*l”默认参数,从当前位置读取一行
“*n”从当前位置读取一个数字并返回
“*a”从当前位置读取整个文件
number从当前位置返回指定字符个数的字符串

文件写入

file = io.open("data1.txt","w")
io.output(file)
io.write("haha")
io.close()

完全模式

文件读取

file =io.open("data.txt","r")
print(file:read())
file:close(file)

文件写入

file = io.open("data1.txt","w")
file:write("haha")
file:close()

file:seek(wherce,offset) 设置和获取当前文件位置 ,成功返回文件位置,失败返回nil加错误信息
whence的值

描述
“set”从文件头开始
“cur”从当前位置开始
“end”从文件尾开始

offset默认为0

print(file:seek("set",10)) -- 设置文件位置为从文件头开始第10个字节
print(file:seek())--返回当前文件位置
print(file:seek(“end”))--设置文件位置为文件尾并返回文件大小
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页