Elixir:
Читання текстового файлу
Як це зробити:
Elixir використовує модуль File
для читання файлів. Ось базовий приклад:
# Прочитаємо весь файл разом
{:ok, data} = File.read("filename.txt")
IO.puts(data)
# Читаємо файл по рядках
File.stream!("filename.txt")
|> Enum.each(&IO.puts(&1))
Припустимо, у файлі filename.txt
є такий вміст:
Привіт, світ!
Це текстовий файл.
Вихід:
Привіт, світ!
Це текстовий файл.
Глибше занурення
У Еліксирі, читання файлу, це взаємодія з операційною системою через BEAM (Erlang Virtual Machine). Історично, модулі для роботи з файлами у Ерланг були оптимізовані під високу проізводительність.
Альтернативами є:
- Використання модуля
:file
із Erlang. - Підключення зовнішніх утиліт за допомогою
System.cmd/3
.
Для великих файлів рекомендують читати по рядках, а не завантажувати весь файл в пам’ять. Еліксир використовує ліниві перечислення (Stream
), дозволяючи ефективно працювати з великими даними.