读取文件为行数组 (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, "行")