讀取檔案為行陣列 (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, "行")