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.")
end

Voorbeelduitvoer 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.

Zie Ook: