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

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

Как:

Давайте посмотрим, как читать текстовый файл построчно, а затем целиком.

-- Чтение файла построчно
local file = io.open("example.txt", "r") -- Открыть файл для чтения
if file then
  for line in file:lines() do -- Итерирование по каждой строке в файле
    print(line)
  end
  file:close() -- Всегда закрывайте файл, когда закончите
else
  print("Не могу открыть файл.")
end

-- Чтение всего файла за один раз
local file = io.open("example.txt", "r") -- Открыть файл для чтения
if file then
  local content = file:read("*a") -- Прочитать весь контент
  print(content)
  file:close() -- Закрыть файл
else
  print("Не могу открыть файл.")
end

Пример вывода для обоих фрагментов, если example.txt содержит:

Привет, Lua!

Вывод будет:

Привет, Lua!

Погружение в тему

Исторически чтение файлов является фундаментальной операцией, уходящей корнями к первым компьютерам. В Lua это обрабатывается через простую модель ввода-вывода с библиотекой io.

Хотя io.lines и io.read являются общепринятыми способами доступа к содержимому файла, существуют альтернативы, такие как lfs (LuaFileSystem) для продвинутых операций с файлами.

При чтении Lua обрабатывает буферизацию за кулисами, но для больших файлов следует читать частями, чтобы избежать высокого использования памяти.

Использование библиотеки io просто, но всегда помните о необходимости закрывать файлы, чтобы предотвратить утечки ресурсов. При ошибке операции с файлами Lua возвращают nil и сообщение об ошибке, с которыми следует обращаться для надежности.

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