ccc

Node.js Streams

Crear un archivo de texto
const {writeFile} = require("fs/promises")
const createBigFile = async() => {
   await writeFile("./data/bigFile.txt","hola mundo".repeat(100000))
}
createBigFile()

Leer un archivo inmenso de grande poco a poco (mediante streaming):
const {createReadStream} = require("fs")
const stream = createReadStream("./data/bigFile.txt","utf-8")

// chunk lo que hace es leerlo por partes (buffer) así no carga el inmenso archivo de golpe
stream.on('data',(chunk) => {
   console.log(chunk)
})
stream.on('end',(chunk) => {
   console.log("Ya terminó del todo")
})
stream.on('error',(chunk) => {
   console.log("Vaya, se ha producido un error al leer")
})

INCISO: Todo esto está hecho con funciones de flecha pero a mí me resulta más intuitivo hacerlo con function como siempre, por ejemplo:
stream.on('end', function(chunk) {
   console.log("Ya terminó del todooo")
})

No hay comentarios:

Publicar un comentario