Lua io.close()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua io.close()相关的知识,希望对你有一定的参考价值。

参考技术A 不知道大家在看到 io.open() 这一章的时候有没有感觉到问题,其中有个很明显的问题就是我在使用 io.open() 打开文件后并没有关闭,很多人应该知道这个问题,不过那是我故意写的,就会为了今天这个函数,要不然怎么能凸显这个函数的作用呢?

一般在一些小的程序里打开一个文件而不去关闭,当程序结束后自然会回收回来,但这也是一个不好的习惯。可如果在大型程序里,有一个模块如果总是打开文件为不去关闭的话,就会造成资源的浪费,导致程序运行一段时间后无法正常工作。

文件读取

技术图片

1.简单模式:
  -- 以只读方式打开文件
  file = io.open("test.lua", "r")
  -- 设置默认输入文件为 test.lua
  io.input(file)
  -- 输出文件第一行
  print(io.read())
  -- 关闭打开的文件
  io.close(file)

  -- 以附加的方式打开只写文件
  file = io.open("test.lua", "a")
  -- 设置默认输出文件为 test.lua
  io.output(file)
  -- 在文件最后一行添加 Lua 注释
  io.write("--  test.lua 文件末尾注释")
  -- 关闭打开的文件
  io.close(file)
2.完全模式
  通常我们需要在同一时间处理多个文件。我们需要使用 file:function_name 来代替 io.function_name 方法。以下实例演示了如何同时处理同一个文件

   -- 以只读方式打开文件
    file = io.open("test.lua", "r")
    -- 输出文件第一行
    print(file:read())
    -- 关闭打开的文件
    file:close()
    -- 以附加的方式打开只写文件
    file = io.open("test.lua", "a")
    -- 在文件最后一行添加 Lua 注释
    file:write("--test")
    -- 关闭打开的文件
    file:close()

  

以上是关于Lua io.close()的主要内容,如果未能解决你的问题,请参考以下文章

lua文件读写

lua向文件中写入数据,进行记录

java中io流,不为null时关闭,但是我老感觉如果是读了一半时也是不为空啊,怎么解释

使用 lua coroutine api 和 lua_close 时出现分段错误

IOUtils

String IO与Bytes IO