Neste artigo você vai aprender a como ler arquivo linha a linha em Node, realizando a leitura linha por linha, sem módulo externo, com Node puro

Ler arquivo linha a linha em Node capa

Fala programador(a), beleza? Bora aprender mais sobre leitura de arquivos e Node.js!

Para realizar este feito vamos utilizar os módulos fs, para ler o arquivo e criar uma stream de dados

E também o readline, que faz o que o nome diz: lê linhas 🙂

Os dois são módulos nativos do Node

Lembrando que com esta abordagem não gastamos memória lendo o arquivo todo, e imprimindo linha a linha

Gastamos apenas o que é necessário para ler e imprimir a linha alvo

Veja o código necessário:

const fs = require('fs');
const readline = require('readline');

async function readFileByLine(file) {
  const fileStream = fs.createReadStream(file);

  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });

  for await (const line of rl) {
    console.log(line);
  }
 }
 

readFileByLine('arquivo.txt')

Note que na nossa função esperamos um arquivo por parâmetro, que é o que será lido

No loop for teremos acesso a todas as linhas do arquivo

No caso estamos imprimindo a linha com console.log, mas você pode fazer o que for preciso

A função é assíncrona, pois a resposta não é imediata, já que estamos lendo por demanda

Conclusão

Neste artigo você aprendeu como ler arquivo linha a linha em Node puro

Utilizamos dois módulos core: fs e readline

Lendo o arquivo por stream e imprimindo cada uma de suas linhas separadamente

Até o fim do arquivo, aí a nossa função para de ser executada

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Inscrever-se
Notificar de
guest

0 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários