Elixir:
Läsa en textfil

Hur man gör:

# Läs hela filen på en gång
{:ok, innehall} = File.read("exempel.txt")
IO.puts(innehall)

# Läs filen rad för rad
File.stream!("exempel.txt")
|> Enum.each(&IO.puts/1)

Sample Output:

Detta är innehållet i din textfil.
Andra raden, lika lättläst.

Djupdykning

Historiskt sett har filhantering i programmeringsspråk utvecklats från enkla, sekventiella läsningar till dagens strömmande och asynkrona I/O-hantering. I Elixir, som använder Erlang’s kraftfulla och robusta noder, kan vi läsa filer på olika sätt. File.read/1 läser innehållet i en fil direkt, medan File.stream!/3 schabloniserar processen och låter oss använda kraftfulla Enum-funktioner. Alternativt kan vi använda :file.open följt av :file.read_line för finjusterad kontroll över läsprocessen.

Elixir är byggt för att hantera fel elegant. Användning av tuples som {:ok, data} och {:error, reason} i filoperationer låter oss hantera potentiella fel snyggt. Dessutom levererar Elixir lätthanterade samtidighetsfördelar, vilket gör det utmärkt för applikationer som kräver hög tillgänglighet och felisolering när de hanterar filer.

Se också