lua学习笔记——文件I/O

1、lua中的文件I/O
lua的文件I/O有两种模式,分别是简单模式和完全模式,他们的区别如下:
简单模式:只有一个默认输入文件和一个默认输出文件,并且提供对这些文件的操作。
完全模式:使用外部的文件句柄来实现。它以一种面向对象的形式,将所有文件操作定义为文件句柄的方法。完全模式可以同时对多个文件进行操作。

2、打开和关闭文件
打开文件:file=io.open(filename,mode)
mode的值可以是:
lua学习笔记——文件I/O_第1张图片

关闭文件:io.close(file)

3、简单模式
简单模式使用标准的I/O操作,简单模式下只有一个默认输入文件和一个输出文件
例:文件操作函数
lua学习笔记——文件I/O_第2张图片

在简单模式下,同一时间只能对一个文件进行操作。在上面的例子当中,io.read()函数没有带参,实际上read函数可以有参数的,如下:
lua学习笔记——文件I/O_第3张图片

4、完全模式
通常我们需要在同一时间处理多个文件,我们需要使用file:function_name来代替io.function_name方法。即将文件操作定义为文件句柄的方法。
例:
lua学习笔记——文件I/O_第4张图片

5、其他的io方法
io.tmpfile():返回一个临时文件句柄,该文件以更新模式打开,程序结束时自动删除。
io.type(file):检测file是否是一个可用文件句柄
io.flush():刷新缓冲区。
io.lines(file name):打开指定的文件为读模式,并返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil,但不关闭文件。
file:flush():刷新缓冲区。
file:seek(whence,offset):设置和获取当前文件位置,其中whence的值可以是“set”(从文件头开始),“cur”(从当前位置开始),“end”(从文件结尾开始)。

例:一行一行的读取文件全部内容
lua学习笔记——文件I/O_第5张图片

你可能感兴趣的:(lua学习,c/c++基础)