Datei als Zeilenarray lesen (LCC.web_file.get_lines)
Deklaration
lines, err = LCC.web_file.get_lines(path, timeout?)
Parameter
- path
String. Zu lesender Dateipfad. - timeout
Zahl, optional. Anfrage-Timeout in Sekunden, Standard60.
Rückgabewerte
- lines
Tabelle. Zeilenarray mit vereinheitlichten\n-Zeilenenden; bei Fehlernil. - err
String odernil. Fehlerbeschreibung, wenn der Aufruf fehlschlägt.
Hinweise
Liest die gesamte Datei und teilt sie in ein Zeilenarray auf.
\r\nwird vor dem Aufteilen in\nvereinheitlicht.
Lesen und Schreiben kombinieren
Wenn eine Datei mit einem Zeilenumbruch endet, behält get_lines den beim Aufteilen am Ende entstehenden leeren String bei. Beispielsweise liefert der zweizeilige Text "A\nB\n" das Array {"A", "B", ""}. Wird dieses Array an set_range_lines(path, 1, lines) übergeben, werden drei Zeilen geschrieben, von denen die letzte leer ist.
Um Inhalte anhand von Zeilennummern zu lesen und zu ersetzen, kombinieren Sie get_range_lines mit set_range_lines. Um die gesamte Datei zu lesen, zu ändern und zu überschreiben, kombinieren Sie get_lines mit set_lines. set_lines überschreibt die gesamte Datei und eignet sich nicht für teilweise Ersetzungen.
Bei beiden Kombinationen sind Lesen und Schreiben getrennte Anfragen. Der gesamte Ablauf aus Lesen, Ändern und Zurückschreiben ist daher nicht atomar. Koordinieren Sie bei gleichzeitigen Schreibzugriffen den Zugriff, damit Änderungen nach dem Lesen nicht überschrieben werden.
Beispiel
local lines, err = LCC.web_file.get_lines("/配置/list.txt")
if not lines then
error(err)
end
print("共有", #lines, "行")