Iniciante Fundamentos
Streams
Streams (fluxos) permitem ler ou escrever dados em pedaços, sem carregar tudo na memória de uma vez. São ideais para arquivos grandes e transferências de rede.
Tipos de stream
- Readable: para leitura (ex.: ler um arquivo).
- Writable: para escrita (ex.: gravar um arquivo).
- Duplex e Transform: leem e escrevem.
Ler com stream
Em vez de carregar o arquivo inteiro, lemos por partes:
const fs = require("fs");
const leitura = fs.createReadStream("grande.txt", "utf8");
leitura.on("data", (pedaco) => {
console.log("Recebi um pedaço:", pedaco.length);
});
leitura.on("end", () => {
console.log("Leitura concluída");
});
Escrever com stream
const fs = require("fs");
const escrita = fs.createWriteStream("saida.txt");
escrita.write("Primeira linha\n");
escrita.write("Segunda linha\n");
escrita.end();
O método pipe
O pipe conecta uma leitura a uma escrita, transferindo os dados automaticamente:
const fs = require("fs");
fs.createReadStream("origem.txt")
.pipe(fs.createWriteStream("copia.txt"));