Lua:
Läsa en textfil
How to:
-- Öppnar en textfil i läsläge
local file = io.open("exempel.txt", "r")
-- Kontrollera om filen finns
if not file then
error("Filen kunde inte öppnas")
else
-- Läser hela filinnehållet
local content = file:read("*a")
print(content)
-- Stänger filen
file:close()
end
Sample output:
Det här är innehållet i din textfil!
Deep Dive
Förr i tiden öppnade och läste vi filer med mer primitiva metoder. I moderna språk som Lua är io
-biblioteket standard för filhantering. Alternativ inkluderar:
io.lines()
för att itera över varje rad i en fil.file:read("*line")
för att läsa rad för rad manuellt.
När du läser filer är prestanda och filhantering viktiga. Lua låser inte filer vid läsning, vilket innebär att andra processer kan ändra filen samtidigt. Se till att hantera fel skickligt för att undvika krascher.
See Also
- Lua’s manual on
io
library: http://www.lua.org/manual/5.4/manual.html#6.8 - Lua File System (lfs), for more advanced file operations: https://keplerproject.github.io/luafilesystem/
- A discussion on stackoverflow about file reading in Lua: https://stackoverflow.com/questions/11201262/how-to-read-data-from-a-file-in-lua