Lua:
Een tekstbestand lezen
Hoe:
Laten we bekijken hoe we een tekstbestand regel voor regel en vervolgens in één keer kunnen lezen.
-- Het bestand regel voor regel lezen
local file = io.open("voorbeeld.txt", "r") -- Open het bestand om te lezen
if file then
for line in file:lines() do -- Itereren over elke regel in het bestand
print(line)
end
file:close() -- Sluit altijd het bestand als je klaar bent
else
print("Kan bestand niet openen.")
end
-- Het hele bestand in één keer lezen
local file = io.open("voorbeeld.txt", "r") -- Open het bestand om te lezen
if file then
local content = file:read("*a") -- Lees de volledige inhoud
print(content)
file:close() -- Sluit het bestand
else
print("Kan bestand niet openen.")
endVoorbeelduitvoer voor beide fragmenten, als voorbeeld.txt bevat:
Hallo, Lua!De uitvoer zal zijn:
Hallo, Lua!Diepgaand
Historisch gezien is het lezen van bestanden een fundamentele operatie, daterend uit de begintijd van computers. In Lua wordt dit afgehandeld via een eenvoudig I/O-model met de io bibliotheek.
Hoewel io.lines en io.read gebruikelijke manieren zijn om toegang tot de inhoud van een bestand te krijgen, zijn er alternatieven zoals lfs (LuaFileSystem) voor geavanceerde bestandsbewerkingen.
Bij het lezen hanteert Lua buffering achter de schermen, maar voor grote bestanden moet je in delen lezen om hoog geheugengebruik te vermijden.
Het gebruik van de io bibliotheek is eenvoudig, maar vergeet niet altijd bestanden te sluiten om lekken van middelen te voorkomen. Bij een fout retourneren Lua-bestandsbewerkingen nil en een foutmelding, die je moet afhandelen voor robuustheid.