跳到主要内容

读取文件为行数组 (LCC.web_file.get_lines)

声明​

lines, err = LCC.web_file.get_lines(path, timeout?)

参数​

  • path
    字符串型,要读取的文件路径
  • timeout
    数值型,可选;请求超时时间(秒),默认 60

返回值​

  • lines
    表类型,文件内容按行组成的数组(统一换行符为 \n);失败时为 nil
  • err
    字符串型或 nil,失败时的错误描述

说明​

读取文件全部内容并按行拆分为数组。
读取前会先把 \r\n 统一转换为 \n。

读写配对​

文件以换行符结尾时,get_lines 会保留末尾拆分出的空字符串。例如,两行文本 "A\nB\n" 会返回 {"A", "B", ""};将该数组传给 set_range_lines(path, 1, lines) 会写入三行,最后一行为空行。

按行号读取并替换内容时,请配对使用 get_range_lines 与 set_range_lines;整体读取、修改并覆写文件时,请配对使用 get_lines 与 set_lines。set_lines 会覆盖整个文件,不适用于局部替换。

两组配对中的读取和写入均为独立请求,整个读改写过程不是原子操作;有并发写入时,需要协调访问,避免覆盖读取后产生的改动。

示例​

local lines, err = LCC.web_file.get_lines("/配置/list.txt")
if not lines then
error(err)
end
print("共有", #lines, "行")