Javascript

Hands-on: Ler arquivo linha a linha

T
Por Tulio Faria 8 de maio de 2017
Hands-on: Ler arquivo linha a linha

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 video:

Curta o DevPleno no Facebook, inscreva-se no canal e não se esqueça de cadastrar seu e-mail para não perder as novidades. Ah, fique à vontade para deixar suas dúvidas e sugestões nos comentários. Abraço!