Lendo um arquivo de texto

Lua:
Lendo um arquivo de texto

How to:

Primeiro, você abre o arquivo com a função io.open:

local arquivo = io.open("meu_arquivo.txt", "r") -- 'r' para modo de leitura
if arquivo then
    local conteudo = arquivo:read("*a") -- lê todo o conteúdo do arquivo
    print(conteudo) -- exibe o conteúdo
    arquivo:close() -- sempre feche o arquivo quando terminar
else
  print("Não foi possível abrir o arquivo.")
end

Se tudo der certo, você verá o conteúdo do seu arquivo impresso no console.

Deep Dive

A função io.open é usada desde as primeiras versões de Lua e retorna dois valores: um objeto de arquivo e um erro. Se o arquivo puder ser aberto, você terá o objeto para manipular, caso contrário, o erro irá te dizer o que deu errado.

Existem alternativas para ler arquivos, como a função io.lines para ler linha por linha:

for linha in io.lines("meu_arquivo.txt") do
    print(linha)
end

No mundo Lua, é essencial entender que arquivos devem ser fechados para evitar vazamentos de memória com arquivo:close(). A partir do Lua 5.1, você tem disponível o file:lines() que funciona de forma similar ao io.lines, mas vinculado a uma instância de arquivo. Isso permite mais controle e tratamento de erros específicos de um arquivo.

See Also