Чтение текстового файла

Elixir:
Чтение текстового файла

Как:

Вот как прочитать весь содержимое текстового файла с именем example.txt:

File.read("example.txt")

Пример вывода, если example.txt содержит “Hello, Elixir!”:

{:ok, "Hello, Elixir!"}

Для построчного чтения файла:

File.stream!("example.txt")
|> Enum.each(fn line -> IO.puts(line) end)

Это выведет каждую строку example.txt в консоль.

Погружение в детали

В Elixir File.read/1 и File.stream!/1 являются типичными способами чтения текстовых файлов. Исторически потребность в чтении файлов в программировании возникает из необходимости хранить и извлекать данные. В раннем периоде компьютерной эры это делалось с помощью перфокарт или магнитных лент. Сегодня мы используем различные устройства хранения данных, такие как SSD, HDD и другие.

Альтернативой File.read/1 является File.read!/1, которая генерирует ошибку, если что-то идет не так, вместо возвращения кортежа. Аналогично, File.stream!/1 отличается от File.stream/1 тем, что при сбое генерирует ошибку, а не возвращает кортеж с ошибкой.

Внутренняя реализация работает с двоичными данными. Текст преобразуется в двоичные данные Elixir, который занимается подлежащими байтами и кодированием.

Смотрите также: