美文网首页Lua
Openresty+Lua 读写文件

Openresty+Lua 读写文件

作者: 8e744d4a988c | 来源:发表于2020-03-25 22:13 被阅读0次

    Talk is cheap. Show me the code.

    因为 lua 写读写操作比较麻烦,所以大致封装了一下。

    读文件:

    -- 读文件
    -- 参数:需要读取的文件路径
    -- 返回值:读出的内容,读取错误。
    -- 如果没有读出内容,第一个参数为 nil,否则第二个参数为 nil
    local function read_file(file_name)
        if not file_name then
            return nil, "missing file_name"
        end
        local file = io.open(file_name,'r')
        if not file then
            return nil, "can\'t open file \"" .. file_name .. "\""
        end
        local content = file:read('*all')
        file:close()
        return content, nil
    end
    

    写文件:

    -- 写文件
    -- 参数:需要写入的文件路径,写入内容
    -- 返回值:写入结果
    -- 如果没有写入内容,返回错误内容,否则返回 nil
    local function write_file(file_name, content)
        if not file_name then
            return nil, "missing file_name"
        end
        content = content or ''
        local file = io.open(file_name, "a")
        if not file then
            return "can\'t open file \"" .. file_name .. "\""
        end
        file:write(content)
        file:close()
        return nil
    end
    

    实战演练:

    -- 读写文件演示,写入当前时间,再读取出来
    ngx.say("write_file result is: ", write_file("/tmp/nowtime.log", ngx.now()))
    ngx.say("result_file result is: ", read_file("/tmp/nowtime.log"))
    -- 也可以这样
    local content, err =  read_file("/tmp/tttt.log")
    if not content then
        ngx.say(err)
    else
        ngx.say(content)
    end
    -- 本机不存在文件 tttt.log,所以显示:
    -- can't open file "/tmp/tttt.log"
    

    截图:


    image.png

    相关文章

      网友评论

        本文标题:Openresty+Lua 读写文件

        本文链接:https://www.haomeiwen.com/subject/tpkfuhtx.html