Lua文件读写之添加空行及删除行

版权声明:本文为博主原创文章,如未特别声明,均默认使用CC BY-SA 3.0许可。 https://blog.csdn.net/Geek_of_CSDN/article/details/82085381

删除行(这里的代码是贫僧抄别人的!!!具体说明看下面):

--[[
    函数名:remove_last_line
    输入:文件路径
    输出:无
    功能:将文件最后一行删除
]]
function remove_last_line(filename)
    local file = io.open(filename, "r+")
    local content = file:read("*all")
    local t = string.gmatch(content, "([^\n]+)[\n]*$")()
    local content_len = string.len(content)
    local t_len = string.len(t)
    file:close()
    local str = string.sub(content, 0, content_len-t_len-1)
    file = io.open(filename, 'w')
    file:write(str)
    file:close()
end

添加行(这个是在上面那些代码的基础上改的!!!):

--[[
    函数名:add_new_line
    输入:文件名
    输出:无
    功能:在文件最后面添加新的空行
]]
function add_new_line(filename)
    local file = io.open(filename, "r+")
    local content = file:read("*all")
    content = content .. "\n"
    file:close()
    file = io.open(filename, 'w')
    file:write(content)
    file:close()
end

添加行这个功能这里踩了一个小坑,直接按照这里的代码来写的话没有办法实现功能,而且会报“错误,原因不明。

报错的代码:

file = io.open("test2.txt", "a")  -- 使用 io.open() 函数,以添加模式打开文件
file:write("\n")       -- 使用 file:write() 函数,在文件末尾追加内容
file:close()

参考

lua 删除txt文本最后一行:删除行的那一份代码就是从这里来的
文件操作:不知道为什么这里的实现添加行的代码用不了

猜你喜欢

转载自blog.csdn.net/Geek_of_CSDN/article/details/82085381