Lettura di un file di testo

Elixir:
Lettura di un file di testo

How to:

Elixir rende la lettura di file semplice e diretta. Ecco un esempio:

# Lettura dell'intero contenuto del file
contenuto = File.read!("esempio.txt")
IO.inspect(contenuto)

# Lettura del file riga per riga
File.stream!("esempio.txt")
|> Enum.each(fn riga -> IO.puts(riga) end)

Output:

"Il contenuto del file di esempio."
"Il primo verso."
"Il secondo verso."

Deep Dive

La lettura di file in Elixir si appoggia all’ERTS (Erlang Runtime System), che gestisce efficientemente I/O file. Storicamente, Erlang (e di conseguenza Elixir) è stato usato in sistemi che richiedono alta concorrenza e per questo leggere file non blocca il sistema.

Altre alternative per la lettura di file includono l’uso di librerie come :file, parte della Erlang Standard Library, o stream processing con GenStage per flussi di dati più grandi.

Leggere un file riga per riga con File.stream! legge il file in modo pigro (lazy), che è molto efficiente con file di grandi dimensioni poiché non vengono caricati interamente in memoria.

See Also