Lua io.tmpfile()

前言#

不知道大家还记不记得我们之前总结过一个函数os.tmpname(),今天要总结的这个函数和这个函数很像,但是功能更加强大,说到这大家还记得临时文件的作用吗?那就是程序运行过程中,可能需要创建一个临时文件,保存一些数据,以后再用,而创建的时候有希望一次创建成功,这就需要创建一个临时文件,今天的函数就是这个作用。

内容#


io.tmpfile()##

  • 原型:io.tmpfile()
  • 解释:返回一个临时文件的句柄,以可写(实际上也可读)的方式打开并且在程序结束时自动删除。

Usage##

  • 首先新建一个文件,将文件命名为tmpfiletest.lua然后编写如下代码:
-- 创建并打开临时文件
local myfile = io.tmpfile()
print("\nfile handle is:")
print(myfile)

-- 向文件中写入内容
myfile:write("name=AlbertS\n");
myfile:write("age=22\n")
myfile:write("removed file when the program ends \n")

-- 做了许多操作之后
-- ...
-- ...

-- 移动文件指针到开头
myfile:seek("set")

-- 读取文件内容
local content = myfile:read("*a");
myfile:close();


print("\nfile content is:")
print(content)

-- 暂停
os.execute("pause")

  • 运行结果
Lua io.tmpfile()_第1张图片
io_tmpfile.png

总结#

  • 注意对比函数os.tmpname()io.tmpfile()的相同点和不同点,只用时候要注意,最重要的是os.tmpname()只返回文件名,需要手动打开和关闭,而io.tmpfile()函数实现打开和关闭都是自动的。
  • io.tmpfile()函数打开的文件句柄一旦关闭就无法再打开了,所以在使用完毕之前切勿随意关闭文件。

你可能感兴趣的:(Lua io.tmpfile())