Leer un archivo como un array de líneas (LCC.web_file.get_lines)
Declaración
lines, err = LCC.web_file.get_lines(path, timeout?)
Parámetros
- path
Tipo string; ruta del archivo que se leerá - timeout
Tipo numérico, opcional; tiempo de espera de la solicitud (segundos), predeterminado60
Valores devueltos
- lines
Tipo table; array de líneas que contiene el archivo (con los saltos de línea normalizados a\n);nilsi falla - err
Tipo string onil; descripción del error cuando falla
Descripción
Lee todo el contenido del archivo y lo divide en un array de líneas.
Antes de leer, convierte todos los saltos\r\na\n.
Combinar lecturas y escrituras
Cuando un archivo termina con un salto de línea, get_lines conserva la cadena vacía que resulta de la división al final. Por ejemplo, el texto de dos líneas "A\nB\n" devuelve {"A", "B", ""}; al pasar este array a set_range_lines(path, 1, lines), se escriben tres líneas, con la última vacía.
Para leer y sustituir contenido por número de línea, combina get_range_lines con set_range_lines. Para leer, modificar y sobrescribir todo el archivo, combina get_lines con set_lines. set_lines sobrescribe el archivo entero y no es adecuado para sustituciones parciales.
En ambas combinaciones, la lectura y la escritura son peticiones independientes, por lo que la secuencia completa de lectura, modificación y escritura no es atómica. Si hay escrituras concurrentes, coordina el acceso para evitar sobrescribir cambios realizados después de la lectura.
Ejemplo
local lines, err = LCC.web_file.get_lines("/配置/list.txt")
if not lines then
error(err)
end
print("共有", #lines, "行")