跳至主要內容

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