Lua 标准库 - 输入输出处理(input and output facilities)
转载于:http://blog.csdn.net/duanxuyun
文本Tag: Lua
  【IT168 技术文档】I/O库提供两种不同的方式进行文件处理   、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述   io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr   、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄   多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil   、io.close ([file])   功能:相当于file:close(),关闭默认的输出文件   、io.flush ()   功能:相当于file:flush(),输出所有缓冲中的内容到默认输出文件   、io.lines ([filename])   功能:打开指定的文件filename为读模式并返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil,并自动关闭文件   若不带参数时io.lines() <=> io.input():lines(); 读取默认输入设备的内容,但结束时不关闭文件   如:for line in io.lines("main.lua") do   print(line)   end   、io.open (filename [, mode])   功能:按指定的模式打开一个文件,成功则返回文件句柄,失败则返回nil+错误信息   mode:   "r": 读模式 (默认);   "w": 写模式;   "a": 添加模式;   "r+": 更新模式,所有之前的数据将被保存   "w+": 更新模式,所有之前的数据将被清除   "a+": 添加更新模式,所有之前的数据将被保存,只允许在文件尾进行添加   "b": 某些系统支持二进制方式   、io.output ([file])   功能:相当于io.input,但操作在默认输出文件上   、io.popen ([prog [, mode]])   功能:开始程序prog于额外的进程,并返回用于prog的文件句柄(并不支持所有的系统平台)   、io.read (...)   功能:相当于io.input():read   、io.tmpfile ()   功能:返回一个临时文件句柄,该文件以更新模式打开,程序结束时自动删除   、io.type (obj)   功能:检测obj是否一个可用的文件句柄   返回:   "file":为一个打开的文件句柄   "closed file":为一个已关闭的文件句柄   nil:表示obj不是一个文件句柄   、io.write (...)   功能:相当于io.output():write   、file:close()   功能:关闭文件   注:当文件句柄被垃圾收集后,文件将自动关闭。句柄将变为一个不可预知的值   、file:flush()   功能:向文件写入缓冲中的所有数据   、file:lines()   功能:返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil,但不关闭文件   如:for line in file:lines() do body end   、file:read(...)   功能:按指定的格式读取一个文件,按每个格式函数将返回一个字串或数字,如果不能正确读取将返回nil,若没有指定格式将指默认按行方式进行读取   格式:   "*n": 读取一个数字   "*a": 从当前位置读取整个文件,若为文件尾,则返回空字串   "*l": [默认]读取下一行的内容,若为文件尾,则返回nil   number: 读取指定字节数的字符,若为文件尾,则返回nil;如果number为0则返回空字串,若为文件尾,则返回nil;   、file:seek([whence][,offset])   功能:设置和获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息   参数   whence:   "set": 从文件头开始   "cur": 从当前位置开始[默认]   "end": 从文件尾开始   offset:默认为0   不带参数file:seek()则返回当前位置,file:seek("set")则定位到文件头,file:seek("end")则定位到文件尾并返回文件大小   、file:setvbuf(mode,[,size])   功能:设置输出文件的缓冲模式   参数   mode:   "no": 没有缓冲,即直接输出   "full": 全缓冲,即当缓冲满后才进行输出操作(也可调用flush马上输出)   "line": 以行为单位,进行输出(多用于终端设备)   最后两种模式,size可以指定缓冲的大小(按字节),忽略size将自动调整为最佳的大小   、file:write(...)   功能:按指定的参数格式输出文件内容,参数必须为字符或数字,若要输出其它值,则需通过tostring或string.format进行转换

Lua的文件IO操作的更多相关文章

  1. 文件IO操作

    前言 本文介绍使用java进行简单的文件IO操作. 操作步骤 - 读文件 1. 定义一个Scanner对象 2. 调用该对象的input函数族进行文件读取 (参见下面代码) 3. 关闭输入流 说明:其 ...

  2. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  3. Linux学习记录--文件IO操作相关系统编程

    文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...

  4. linux文件IO操作篇 (一) 非缓冲文件

    文件IO操作分为 2 种 非缓冲文件IO 和 缓冲文件IO 它们的接口区别是 非缓冲 open() close() read() write() 缓冲 fopen() fclose() fread() ...

  5. imx6用文件io操作gpio

    具体请参考: http://blog.csdn.net/u014213012/article/details/53140781 这里要注意的是: 要让linux支持文件io方式操作gpio,首先驱动必 ...

  6. 9.2 Go 文件IO操作

    9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 func main() { //NewReader返回一个结构体对象指针 reader ...

  7. Linux文件IO操作

    来源:微信公众号「编程学习基地」 目录 文件操作 Linux文件类型 Linux文件权限 修改文件权限 Linux error 获取系统调用时的错误描述 打印错误信息 系统IO函数 open/clos ...

  8. 文件IO操作..修改文件的只读属性

    文件的IO操作..很多同行的IO工具类都是直接写..但是如果文件有只读属性的话..则会写入失败..所以附加了一个只读的判断和修改.. 代码如下: /// <summary> /// 创建文 ...

  9. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

随机推荐

  1. Linux 设备总线驱动模型

    尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要.     Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一 ...

  2. MySql For Windows解压缩版配置

    #配置步骤 1.首先下载解压. (此处我解压到了我电脑的“E:\software\MySql”这个位置,下文以这个目录举例); 2.我的电脑右键属性,找到环境变量配置,配置环境变量,将mysql.ex ...

  3. Linux无法登录,显示module is unknown,一闪而过

    1.使用单用户模式登录系统(不作介绍) 2.查看日志:vim /var/log/secure 3.记忆起曾经配置oracle添加过该参数 vim/etc/pam.d/login中加入了: sessio ...

  4. CentOS7.6安装PM2(Npm方式全局安装)

    安装前提: 1. node环境 2. npm 安装开始: 第一步:全局安装,npm install -g pm2 第二步: 保存当前进程状态,pm2 save 第三步: 生成开机自启动服务,pm2 s ...

  5. linux anaconda 管理 python 包

    1.下载 anaconda https://www.continuum.io/downloads 2.安装anaconda 3.conda install package-name //利用anaco ...

  6. HTTP之URL

    URI 和 URL 与 URI(统一资源标识符)相比,我们更熟悉 URL(Uniform Resource Locator,统一资源定位符).URL 正是使用 Web 浏览器等访问 Web 页面时需要 ...

  7. 【译】PGS字幕

    PGS(Presentation graphic stream):图形字幕流,是用来显示蓝光电影中的字幕的流.当蓝光盘中的PGS格式的字幕被分离存储的时候通常保存在一个以sup为扩展名的文件中.(也可 ...

  8. 全面了解POI操作Microsoft Office(Word、Excel、PowerPoint)

    POI 与 Microsoft Office 1. POI 简介 POI 是 Apache 下的 Jakata 项目的一个子项目,主要用于提供 java 操作 Microsoft Office 办公套 ...

  9. MySQL批量添加表字段

    ALTER TABLE custom ADD contacts2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '客户联系人2',ADD phone2 VARCHAR ...

  10. Mysql 中的伪列用法

    SELECT ( @rowNO := @rowNo + 1 ) AS rowno, A.*FROM ( SELECT * FROM t_user ) a, ( SELECT @rowNO := 0 ) ...