How to read a file one line at a time in Node.js?

Sometimes, we want to read a file one line at a time in Node.js.

In this article, we’ll look at how to read a file one line at a time in Node.js.

How to read a file one line at a time in Node.js?

To read a file one line at a time in Node.js, we can call thge fs.createReadStream method.

For instance, we write

const fs = require('fs');
const readline = require('readline');

const processLineByLine = async () => {
  const fileStream = fs.createReadStream('input.txt');
  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });

  for await (const line of rl) {
    console.log(`Line from file: ${line}`);
  }
}

processLineByLine();

to define the processLineByLine function that calls fs.createReadStream with the path of the file to read.

Then we call readline.createInterface to read the file line by line by setting the input to fileStream and crlfDelay to Infinity.

crlfDelay is set to recognize all instacnes of the CR and LF characters as a single line break.

And then we loop through each line in rl that’s read.

Conclusion

To read a file one line at a time in Node.js, we can call thge fs.createReadStream method.