在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Lua中本身对文件所提供的操作,主要包含在I/O库中,该库以.io字段的方式存储在全局的_G表中,遍历打印_G.io即可获取对应库所提供的文件操作的API函数。 io.lines([filename]) --->以读模式打开指定的filename文件,并返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil,并自动关闭文件。 若不带参数时io.lines() <=> io.input():lines(); 读取默认输入设备的内容,但结束时不关闭文件。 { 迭代函数: 内部维护了一个闭合函数和变量var,每次调用时var值+1,同时产生并返回一个新的闭合函数,在闭合函数中通过变量var索引table中的元素达到操作table表元素的目的,闭合函数中也可以处理其他的功能逻辑。 } file:lines()
file:write(...) --->函数功能同上,此时写入的目标文件是当前操作的file句柄所打开引用的文件,按指定的参数格式输出文件内容,参数必须为字符或数字,若要输出其它值,则需通过tostring或string.format进行转换。 io.close([filename]) --->不给出文件时,关闭默认的输出文件。 file:close() --->关闭文件句柄关联的对应的输出文件。文件在句柄被垃圾回收时会自动关闭, 多久以后关闭是不可预期的。 io.flush() --->输出所有缓冲中的内容到默认或指定的输出文件中。 file:flush() --->将缓冲区中的内容写入到file句柄对应的文件中。 open,read,input,output函数请参考这一篇:
Lua I/O库(一) io.type(fileobj) --->检测fileobj是否一个可用的文件句柄;返回一个字符串 io.stdin,io.stdout,io.stderr --->通过打印io的字段信息可以看出,这3个是属于预定义C语言的标准流句柄,即io.stdin(标准输入)、io.stdout(标准输出)、io.stderr(标准错误输出)。 io.popen(prog
[, mode])(援引:io.popen) --->可操作文件的同时又可以执行命令与函数os.execute()有点相似。 在额外的进程中启动程序prog,并返回用于prog的文件句柄。通俗的来说就是使用这个函数可以调用一个命令(程序),并且返回一个和这个程序相关的文件描述符,一般是这个被调用函数的输出结果,这个文件打开模式由参数mode确定,有取值"r"和"w"两种,分别表示以读、写方式打开,默认是以读的方式。 io.tmpfile() --->返回一个临时文件句柄,该文件以更新模式打开,程序结束时自动删除。 file:seek([whence][,offset]) --->获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息: file:setvbuf(mode,[,size]) --->设置输出文件的缓冲模式mode: |
请发表评论