Skip to content

Latest commit

 

History

History
62 lines (44 loc) · 1.78 KB

lendo-arquivos-grandes.md

File metadata and controls

62 lines (44 loc) · 1.78 KB

Lendo arquivos grandes com Node.js

Nesse vídeo mostro como carregar arquivos e arquivos grandes usando Node.js

Quando precisamos trabalhar com um arquivo de dados muito grande não é possível carregar todo o seu conteúdo na aplicação mas podemos ir lendo e processando partes do arquivo.

Vídeo:

Retirando dados de páginas com Node.js

Vamos ver 2 formas:

1 - usando o modulo readline do core do node.js

Vantagem: Não precisa instalar modulos da comunidade

Link: https://nodejs.org/api/readline.html#readline_example_read_file_stream_line_by_line

Exemplo, lendo o arquivo country.txt:

const readline = require('readline');
const fs = require('fs');
// iniciamos com um stream de leitura no arquivo:
const rl = readline.createInterface({
  input: fs.createReadStream('country.txt')
});
// função que é executada a cada linha:
rl.on('line', (line) => {
  console.log('Line from file:', line);
});
// evento executado após ler todas as linhas do arquivo:
rl.on('close', () => {
  console.log('acabou!');
});

2 - Usando o modulo linebyline do NPM

Vantagens: é mais simples de usar pois já usa resolve coisas como o número da linha atual Desvantagens: Precisa instalar o modulo linebyline

Instale o module com npm install --save linebyline

Modulo: https://www.npmjs.com/package/linebyline

const linebyline = require('linebyline');
let rl = linebyline('./country.txt');

rl.on('line', (line, lineCount, byteCount) => {
  // faça algo com a linha
  console.log(`Estou na linha: ${lineCount} com o valor ${line}`)
});

.on('error', (e) => {
  console.error(e)
  // deu erro!
});