首页 > 代码库 > Lua输入输出库
Lua输入输出库
1、简单模型
)1、io.write函数:
函数模型为io.write(...)
)2、io.read函数:
io.read(*all) 读取当前输入的整个文件
io.read(*line) 读取下一行
io.read(*number) 读取一个整数
io.read(num) 读取当前输入的不超过number个字符
特别的:
io.lines():以迭代器形式访问文件中的每一行数据
for line in in.lines() do
io.write(string.format("%d\n",line))
end
2、完整I/O模型
Lua中完整I/O模型的使用方式非常类似于C运行时库的文件操作函数,它们都是基于文件句柄的。
1). 通过io.open函数打开指定的文件,并且在参数中给出对该文件的打开模式,其中"r"表示读取,"w"表示覆盖写入,即先删除文件原有的内容,"a"表示追加式写入,"b"表示以二进制的方式打开文件。在成功打开文件后,该函数将返回表示该文件的句柄,后面所有基于该文件的操作,都需要将该句柄作为参数传入。如果打开失败,返回nil。其中错误信息由该函数的第二个参数返回,如:
assert(io.open(filename,mode)) --如果打开失败,assert将打印第二个参数给出的错误信息。
2). 文件读写函数read/write。这里需要用到冒号语法,如:
1 local f = assert(io.open(filename,"r"))
2 local t = f:read("*all") --对于read而言,其参数完全等同于简单模型下read的参数。
3 f:close()
Lua输入输出库