Node.js Streams: The Ultimate Guide to Handling Large Data

What are Streams?

A collection of data is called a stream. But unlike an array or a string, a stream object does not keep all of its contents in memory at once. Rather, one piece of data at a time is delivered into the memory from the stream. It increases the efficiency of streams. The ideal platform for creating data streaming applications is Node.js.

Stream types Node.js handles four basic kinds of streams:

  • Data can be written to Writable − streams.
  • Data can be read from readable streams.
  • Both readable and writeable streams are known as duplex streams.
  • Transform − Duplex streams that have the ability to change or alter data while it is being read and written.

Each type of Stream is an EventEmitter instance and throws several events at different instances of time. For example, some of the commonly used events are −

  • data − This event is fired when there is data available to read.
  • end − This event is fired when there is no more data to read.
  • error − This event is fired when there is any error receiving or writing data.
  • finish − This event is fired when all the data has been flushed to the underlying system.

This chapter’s examples make use of a file called input.text that contains the following information.

Thefullstack is providing self-learning materials to educate the world in an easy-to-understand manner!

Streamable The data can be read in chunks of a certain size from the file object, which functions as a stream. To read data from a specified file, we use the fs module’s createReadStream() function in the example that follows. The file contents are gathered by the readable stream’s on event until the end event is triggered.

var fs = require("fs");
var data = '';

// Create a readable stream
var readerStream = fs.createReadStream('input.txt');

// Set the encoding to be utf8.
readerStream.setEncoding('UTF8');

// Handle stream events --> data, end, and error
readerStream.on('data', function(chunk) {
   data += chunk;
});

readerStream.on('end', function() {
   console.log(data);
});

readerStream.on('error', function(err) {
   console.log(err.stack);
});

console.log("Program Ended");

Save the above script as main.js. Run the above Node.js application. It will display the contents of the input.text file.

Writable Stream The createWriteStream() function from the fs module creates an object of a writable stream. Its write() method stores the data in the file given to the createWriteStream() function as an argument.

Save the following code with main.js as its name.

var fs = require("fs");
var data = `thefullstack is giving self-learning content
to teach the world in a simple and easy way!!!!!`;

// Create a writable stream
var writerStream = fs.createWriteStream('output.txt');

// Write the data to stream with encoding to be utf8
writerStream.write(data, 'UTF8');

// Mark the end of file
writerStream.end();

// Handle stream events --> finish, and error
writerStream.on('finish', function() {
   console.log("Write completed.");
});

writerStream.on('error', function(err) {
   console.log(err.stack);
});

console.log("Program Ended");

To see if it contains the provided data, open output.txt that was created in your current directory.

Connecting the Streams The process of supplying the output of one stream as the input to another is known as piping. Typically, it is used to send the output of one stream to another and get data from another stream. The number of piping operations is unlimited. We’ll now demonstrate how to read data from one file and write it to another using pipes.

Create a js file named main.js with the following code −

var fs = require("fs");

// Create a readable stream
var readerStream = fs.createReadStream('input.txt');

// Create a writable stream
var writerStream = fs.createWriteStream('output.txt');

// Pipe the read and write operations
// read input.txt and write data to output.txt
readerStream.pipe(writerStream);

console.log("Program Ended");

Now run the main.js to see the result −

node main.js

Check the output.

Program Termination

Open the output.txt file that was created in the directory you are now in; it should include the following:

Thefullstack is providing self-learning materials to educate the world in an easy-to-understand manner!

Connecting the Streams A method for joining the output of one stream to another and establishing a chain of several stream activities is called chaining. Typically, it is employed in piping activities. We will now compress a file and then decompress it using piping and chaining.

Create a js file named main.js with the following code −

var fs = require("fs");
var zlib = require('zlib');

// Compress the file input.txt to input.txt.gz
fs.createReadStream('input.txt')
   .pipe(zlib.createGzip())
   .pipe(fs.createWriteStream('input.txt.gz'));
  
console.log("File Compressed.");

Now run the main.js to see the result −

node main.js

Verify the Output.

File Compressed.

You will find that input.txt has been compressed and it created a file input.txt.gz in the current directory. Now let’s try to decompress the same file using the following code −

var fs = require("fs");
var zlib = require('zlib');

// Decompress the file input.txt.gz to input.txt
fs.createReadStream('input.txt.gz')
   .pipe(zlib.createGunzip())
   .pipe(fs.createWriteStream('input.txt'));
  
console.log("File Decompressed.");

Now run the main.js to see the result −

node main.js

Verify the Output.

File Decompressed.

It might ne helpful:

What’s New in Node.js 21/22? 

Model-Based Security Testing: Ensuring Software Security with MBT

Free

SAP SD S4 HANA

SAP SD (Sales and Distribution) is a module in the SAP ERP (Enterprise Resource Planning) system that handles all aspects of sales and distribution processes. S4 HANA is the latest version of SAP’s ERP suite, built on the SAP HANA in-memory database platform. It provides real-time data processing capabilities, improved…
₹25,000.00

SAP HR HCM

SAP Human Capital Management (SAP HCM)  is an important module in SAP. It is also known as SAP Human Resource Management System (SAP HRMS) or SAP Human Resource (HR). SAP HR software allows you to automate record-keeping processes. It is an ideal framework for the HR department to take advantage…
₹25,000.00

Salesforce Administrator Training

I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
₹25,000.00

Salesforce Developer Training

Salesforce Developer Training Overview Salesforce Developer training advances your skills and knowledge in building custom applications on the Salesforce platform using the programming capabilities of Apex code and the Visualforce UI framework. It covers all the fundamentals of application development through real-time projects and utilizes cases to help you clear…
₹25,000.00

SAP EWM

SAP EWM stands for Extended Warehouse Management. It is a best-of-breed WMS Warehouse Management System product offered by SAP. It was first released in 2007 as a part of SAP SCM meaning Supply Chain Management suite, but in subsequent releases, it was offered as a stand-alone product. The latest version…
₹18,000.00

Oracle PL-SQL Training Program

Oracle PL-SQL is actually the number one database. The demand in market is growing equally with the value of the database. It has become necessary for the Oracle PL-SQL certification to get the right job. eLearning Solutions is one of the renowned institutes for Oracle PL-SQL in Pune. We believe…
Free

Pega Training Courses in Pune- Get Certified Now

Course details for Pega Training in Pune Elearning solution is the best PEGA training institute in Pune. PEGA is one of the Business Process Management tool (BPM), its development is based on Java and OOP concepts. The PAGA technology is mainly used to improve business purposes and cost reduction. PEGA…
₹27,000.00

SAP PP (Production Planning) Training Institute

SAP PP Training Institute in Pune SAP PP training (Production Planning) is one of the largest functional modules in SAP. This module mainly deals with the production process like capacity planning, Master production scheduling, Material requirement planning shop floor, etc. The PP module of SAP takes care of the Master…
₹24,999.86

SAP Basis Training in Pune

SAP BASIS Module Course Content (1) Hardware and Software Introduction (i) Hardware (a) Hardware Introduction (b) Architecture of different Hardware devices (ii) Software (a) Software Introduction (b) Languages and Software Development (c) Introduction to OS (d) Types of OS (iii) Database Concepts (a) Introduction (b) Database Architecture and concepts (c)…
₹30,000.00

Courses For Sap HANA Administration Training

Curriculum Details  SAP HANA Administration SAP HANA Introduction SAP HANA Introduction SAP HANA Information Sources Installation Preparation SAP HANA Sizing   Linux Operating system requirements SAP HANA Installation Introduction to SAP HANA Lifecycle Management tools Describing Advanced Installation options Explaining a Distributed system SAP HANA Architecture SAP HANA Architecture and Technology…
₹30,000.00

Courses For Sap BW On HANA Training

Business Warehouse (BW) is SAP’s data warehousing application; it uses an SAP NetWeaver application server, but can run on many different databases. Improvements come with each version of Courses for sap BW on HANA training, but a really big jump in functionality comes when SAP BW is installed on the…
₹30,000.00

Courses For Sap Hana Simple Logistics Training

SAP SAP HANA simple logistics is also known as HANA enterprise management. Different area of business is combined in this suit itself like HANA enterprise-management helps in faster and efficient processing of business data in the area of logistics, supply chain, procurement, user experience, sales, partner management. So Course for…
₹30,000.00

Courses For Sap ABAP On HANA Training

ABAP remains a key language as many SAP business applications and custom developments are written in ABAP, with Courses for sap ABAP on HANA training there are numerous improvements. The ABAP language, which allows writing streamlined ABAP code and benefit from SAP HANA. SAP HANA is a relational DBMS in SAP…
₹30,000.00

Courses For Sap Hana Training

SAP HANA is the latest ERP Solution from SAP, which is a combination of Hardware and Software. HANA has unprecedented adoption by the SAP customers. courses for SAP HANA training institutes. SAP HANA is the latest, in-memory database, and platform which can be deployed on-premises or cloud. SAP HANA is a…
₹25,000.00

Oracle HRMS (Human Resource Management System) Course Details, Syllabus and Fees

Oracle Applications R12 HRMS is one of the most demanded applications by most organizations. It is the core application possess by the ERP system. The core objective of the organization to implement Oracle R12 HRMS is to organize the entire activates of human resources management. An Elearning solution is well…
₹25,000.00

Oracle Apps SCM (Supply Chain Management) Training & Certification Courses

Elearning solutions provide training suit for Oracle Apps R12 SCM with training from industry experts. The organizations are adopting Oracle’s supply chain management cloud as they deliver the insights, visibility, and capabilities for organizations’ management. Oracle Apps R12 SCM allows the industry to create own intelligent supply chain. Hence, it…
₹25,000.00

Oracle Apps R12 Technical Training Course and Module Overview

Oracle Apps R12 Technical Course Elearning solutions is the best Oracle Apps R12 technical course in Pune owned by well trained and certified trainers. The training is conducted by the best experienced IT professionals with skilled resources. The course structure is based on the real-time scenario so that it will…
FICO & FICO HANA
₹25,000.00

SAP FICO ( Financial Accounting) Online Training And Certification in Pune

Elearning solutions is the best SAP FICO training institute in Pune. SAP FICO is the Finance and Cost controlling module is one of the most important and widely used SAP ERP modules among organizations. As it is very robust and encounter almost all the business processes. In SAP FICO, FI…
₹25,000.00

SAP SD (Sales & Distribution) Training Course Admission Details

Elearning solutions provide SAP SD training. The tutorials are designed for the students who desired to understand SAP SD concepts and implement them in practice. The SAP SD training is delivered by industry experts, who are aware of the real-time scenarios. Hence, supporting students understand, what will be there on…
₹25,000.00

Be an Certified Professional in SAP WM (Warehouse Management)

SAP WM training is offered by Elearning solutions provides 100% hands-on practical classes. The primary focus of training is getting placement for all the students. The tutorials are designed for the students who wished to work on live projects for the organizations. The syllabus of SAP WM training is crafted…
₹25,000.00

Training for SAP MM (Material Management) Course Modules

Elearning solutions are the best SAP MM training institute in Pune. SAP MM (material management system) is one of the important models of the SAP ERP system, which is particularly designed for business processes. SAP MM deals with the entire material and inventory management of the organization. The module is…
₹25,000.00

SAP ABAP Training Institute in Pune, SAP ABAP Courses Online

Elearning Solutions best SAP ABAP training institute in Pune provides real-time training for students. SAP ABAP (Advanced Business Application Programming) is a programming language for building SAP applications such as SAP R/3 which runs in the SAP ABAP runtime environment. (SAP ABAP online course) SAP ABAP is used by organizations…
WhatsApp WhatsApp us
Call Now Button