How to read a file line by line using node.js ?

20 May, 2020
The ability to read a file line by line allows us to read large files without entirely storing it to the memory. It is useful in saving resources and improves the efficiency of the application. It allows us to look for the information that is required and once the relevant information is found, we can stop the search process and can prevent unwanted memory usage.
We will achieve the target by using the Readline Module and Line-Reader Module.
Method 1: Using the Readline Module: Readline is a native module of Node.js, it was developed specifically for reading the content line by line from any readable stream. It can be used to read data from the command line.Since the module is the native module of Node.js, it doesn’t require any installation and can be imported as
const readline = require('readline');
Since readline module works only with Readable streams, so we need to first create a readable stream using the fs module.
const file = readline.createInterface({
    input: fs.createReadStream('source_to_file'),
    output: process.stdout,
    terminal: false
});

Now, listen for the line event on the file object. The event will trigger whenever a new line is read from the stream:
file.on('line', (line) => {
    console.log(line);
});

Example:
// Importing the Required Modulesconst fs = require('fs');const readline = require('readline');  // Creating a readable stream from file// readline module reads line by line // but from a readable stream only.const file = readline.createInterface({    input: fs.createReadStream('gfg.txt'),    output: process.stdout,    terminal: false});  // Printing the content of file line by//  line to console by listening on the// line event which will triggered// whenever a new line is read from// the streamfile.on('line', (line) => {    console.log(line);});
Output:
Method 2: Using Line-reader Module: The line-reader module is an open-source module for reading file line by line in Node.js. It is not the native module, so you need to install it using npm(Node Package Manager) using the command:
npm install line-reader --save
The line-reader module provides eachLine() method which reads the file line by line. It had got a callback function which got two arguments: the line content and a boolean value that stores, whether the line read, was the last line of the file.
const lineReader = require('line-reader');

lineReader.eachLine('source-to-file', (line, last) => {
    console.log(line);
});

Example:
// Importing required librariesconst lineReader = require('line-reader');  // eachLine() method call on gfg.txt// It got a callback function// Printing content of file line by line// on the consolelineReader.eachLine('gfg.txt', (line, last) => {    console.log(line);});
Output:
Node.js-Misc
Picked
Node.js
Web Technologies
Web technologies Questions
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to install the previous version of node.js and npm ?
Difference between promise and async await in Node.js
Mongoose | findByIdAndUpdate() Function
Installation of Node.js on Windows
JWT Authentication with Node.js
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?
Differences between Functional Components and Class Components in React