Necesito leer un archivo de texto línea por línea en JavaScript.
Es posible que desee hacer algo con cada línea (por ejemplo, omitirla o modificarla) y escribir la línea en otro archivo. Pero las acciones específicas están fuera del alcance de esta pregunta.
Hay muchas preguntas con una redacción similar, pero la mayoría realmente lee todo el archivo en la memoria en un solo paso en lugar de leer línea por línea. Entonces esas soluciones no se pueden usar para archivos más grandes.
El código para leer un archivo de texto línea por línea es sorprendentemente no trivial y difícil de descubrir.
Este código utiliza el módulo readline de NodeJS para leer y escribir archivos de texto línea por línea. Puede funcionar en archivos grandes.
const fs = require("fs"); const readline = require("readline"); const input_path = "input.txt"; const output_path = "output.txt"; const inputStream = fs.createReadStream(input_path); const outputStream = fs.createWriteStream(output_path, { encoding: "utf8" }); var lineReader = readline.createInterface({ input: inputStream, terminal: false, }); lineReader.on("line", function (line) { outputStream.write(line + "\n"); });