Neste hands-on, vamos ver como conseguimos utilizar o readline em conjunto com Readable Stream para ler linhas de um arquivo texto. Como faremos isso? Primeiramente vamos importar o headline (que já faz parte do core do node) e o FS (file System). Em seguida, vamos ler o arquivo com o readable. Vamos criar uma instancia do…
por: Tulio Faria
Categoria: DicasVideo-Tutorial
Neste hands-on, vamos ver como conseguimos utilizar o readline em conjunto com Readable Stream para ler linhas de um arquivo texto.
Como faremos isso?
Primeiramente vamos importar o headline (que já faz parte do core do node) e o FS (file System). Em seguida, vamos ler o arquivo com o readable.
const readline = require('readline')
const fs = require('fs')
const readable = sf.createReadStream('arquivo.html')Vamos criar uma instancia do readline e no imput vamos passar o readable
const rl = readline.creatInterface({
input: readable,
output: process.stdout
})Mas para que isso serve?
Isso é legal, pois podemos fazer assim por exemplo:
rl
.on('line', (line)==>{
console.log('>>>', line)
})Se rodarmos este código, o node vai mostrar o HTML inteiro linha a linha. Para provar realmente que ele esta fazendo isso, podemos fazer o seguinte:
rl.on('line', (line)==>{
console.log('>>>', line.toUpperCase())
})Então o node retornará tudo em maiúsculo. Neste código, também podemos ler um CSV, bastaria eu processar a linha do CSV dentro do console.log e temos uma forma de rodar o arquivo sem precisar gastar muita memória.
Conclusão
Quando temos muitos dados, não é necessário jogar na memória. Utilizando essa forma, a leitura vai ser bem mais vantajosa.
Confira o hands-on no vídeo:
Curta o DevPleno no Facebook, inscreva-se no canal, deixe suas dúvidas e sugestões nos comentários e não se esqueça de cadastrar seu e-mail para não perder as novidades. Abraço!