完整IO模型

lua完整的IO模型基于文件句柄,等价于c语言中的(FILE*)

使用io.open打开一个文件,io.open("123.txt","w").一个是文件名,另一个参数为打开模式

打开模式分为以下mode:

  "r": 读模式 (默认);

  "w": 写模式;

  "a": 添加模式;

  "r+": 更新模式,所有之前的数据将被保存

  "w+": 更新模式,所有之前的数据将被清除

  "a+": 添加更新模式,所有之前的数据将被保存,只允许在文件尾进行添加

  "b": 某些系统支持二进制方式

函数的返回表示了文件的新的句柄,若是出现错误会返回nil值

print(io.open("123.txt",r))

若123txt文件夹不存在,输出为空

当Lua遇到不期望的情况时就会抛出错误,比如:两个非数字进行相加;调用一个非函数的变量;访问表中不存在的值等。你也可以通过调用error函数显示的抛出错误,error的参数是要抛出的错误信息。
assert(a,b) a是要检查是否有错误的一个参数,b是a错误时抛出的信息。第二个参数b是可选的。
file= io.open("123.txt","r")

print(file)

输出结果:

nil
[Finished in 0.0s]

file= assert(io.open("123.txt","r"))

print(file)
输出结果:

/usr/local/bin/lua: /Users/macbook/Desktop/test.lua:1: 123.txt: No such file or directory
stack traceback:
	[C]: in function 'assert'
	/Users/macbook/Desktop/test.lua:1: in main chunk
	[C]: ?
[Finished in 0.0s with exit code 1]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值