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
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!