I/O库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设有一个当前输入文件和一个当前输出文件,它的I/O操作均作用于这些文件。完整模型则使用显式地文件句柄。它采用了面向对象的风格,并将所有的操作定义为文件句柄上的方法。
简单IO模式
简单模型的所有操作都作用于两个当前文件。I/O库将当前输入文件初始化为进程标准输入(stdin),将当前输出文件初始化为进程标准输出。在执行io.read()操作时,就会从标准输入中读取一行。
用函数io.input和io.output可以改变这两个当前文件。io.input(filename)调用会以只读模式打开指定的文件,并将其设定为当前输入文件;除非再次调用io.input,否则所有的输入都将来源于这个文件;在输出方面,io.output也可以完成类似的工作
io.write, io.read 是一对.默认情况下,他们从stdin读输入,输出到stdout。 另有两个函数可以改变这一默认行为: io.input("xx"), io.output("yy") 他们改变输入为某个 xx 文件, 输出到 yy 文件。 eg:
如果 io.read()参数
"*all" |
从当前位置读取整个文件,若为文件尾,则返回空字串 |
"*line" |
[默认]读取下一行的内容,若为文件尾,则返回nil |
"*number" |
读取指定字节数的字符,如果number为0则返回空字串,若为文件尾,则返回nil; |
<num> |
读取num个字符到串 |
--[[test.lua的内容
hel