Node.js fs.createWriteStream() Method
Last Updated : 07 Jan, 2025
The fs.createWriteStream() method in Node.js is used to create a writable stream for writing data to a file. This method is part of the fs (file system) module and is ideal for writing large amounts of data to a file in chunks rather than loading the entire content into memory at once. It is particularly useful for tasks like logging, file uploads, and generating large files.
fs.createWriteStream() Method
The createWriteStream() method is an inbuilt application programming interface of fs module which allows to quickly make a writable stream for the purpose of writing data to a file. This method may be a smarter option compared to methods like fs.writeFile when it comes to very large amounts of data.
Syntax:
fs.createWriteStream( path, options )
Parameters: This method accept two parameters as mentioned above and described below:
- path: The path to the file where you want to write the data. If the file does not exist, it will be created.
- options: An optional parameter that allows you to specify options such as encoding, flags, and mode.
Return Value: This method returns the fs.writeStream object.
Features
- Efficient Memory Usage: The stream writes data in chunks, making it memory-efficient, especially when dealing with large files.
- Asynchronous: Writing operations are non-blocking, allowing the application to continue processing other tasks while data is being written.
- Pipeable: Writable streams can be piped to other readable streams, enabling powerful data transformation and transfer operations.
Following example illustrates the createWriteStream() method in Node.js:
Example 1: This example uses fs.createWriteStream() method to write some content into the file.
Node.js // Node.js program to demonstrate the // fs.createWriteStream() method // Include fs module let fs = require('fs'), // Use fs.createWriteStream() method // to write the file let writer = fs.createWriteStream('test_gfg.txt') // Read and display the file data on console writer.write('GeeksforGeeks');
Output:
test_gfg.txt file data:
GeeksforGeeks
Example 2: Piping from readable streams.
Node.js // Node.js program to demonstrate the // fs.createWriteStream() method // Include fs module let fs = require('fs'); let writer = fs.createWriteStream('test_gfg.txt', { flags: 'w' }); // Use fs.createReadStream() method // to read the file let reader = fs.createReadStream('test_gfg.txt') .pipe(writer);
With writable streams such as the streams created with fs.createWriteStream, data can be piped from a readable stream.
Summary
The fs.createWriteStream() method in Node.js is a versatile and efficient way to write data to files, especially when working with large amounts of data. Its ability to handle data in chunks, combined with non-blocking I/O, makes it a powerful tool for building scalable and high-performance Node.js applications. Whether you’re logging information, generating files, or handling file uploads, fs.createWriteStream() provides the functionality you need to write data efficiently and effectively.
Similar Reads
Node JS fs.readFile() Method âIn Node.js, the fs.readFile() method is a fundamental tool for reading files asynchronously, allowing your application to remain responsive while accessing file data. This method is part of Node.js's File System (fs) module, which provides an API for interacting with the file system.Syntaxfs.readFi
3 min read
Node.js fs.exists() Method The fs exists method in node is used to check if the input file or the directory exists or not. It is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around POSIX functions. Syntax:fs.exists( path, callb
2 min read
Node fs.existsSync() Method In Node.js, the fs.existsSync() method checks if a file or folder exists at a given path. It's synchronous, meaning it pauses the program until it finds the result (either true if it exists, or false if it doesn't). Because it stops everything while it works, itâs best used for quick checks in small
3 min read
Node fs.mkdir() Method The fs.mkdir() method in Node.js is used to create a directory asynchronously.Syntaxfs.mkdir(path, mode, callback)Parameters: This method accepts three parameters as mentioned above and described below: path: This parameter holds the path of the directory that has to be created.mode: This parameter
2 min read
Node.js fs.truncate() Method The fs.truncate() method in node.js is used to change the size of the file i.e either increase or decrease the file size. This method changes the length of the file at the path by len bytes. If len represents a length shorter than the file's current length, the file is truncated to that length. If i
2 min read
Node.js fs.renameSync() Method In Node.js, the fs.renameSync() method is part of the built-in File System (fs) module and is used to rename or move files and directories synchronously. This method is useful when you need to quickly change a file's name or move it to a different directory synchronously. It blocks the execution of
3 min read
Node.js fs.rmdir() Method The fs.rmdir() method is used to delete a directory at the given path. It can also be used recursively to remove nested directories.Syntax: fs.rmdir( path, options, callback )Parameters: This method accepts three parameters as mentioned above and described below: path: It holds the path of the direc
3 min read
Node.js fs.stat() Method The fs.stat() method is used to return information about the given file or directory. It returns an fs.Stat object which has several properties and methods to get details about the file or directory. Syntax:fs.stat( path, options, callback )Parameters: This method accept three parameters as mentione
3 min read
Node.js fs.mkdtempSync() Method The fs.mkdtempSync() method is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around standard POSIX functions. The fs.mkdtempSync() method creates a unique temporary directory. This is the synchronous v
2 min read
Node.js fs.realpath() Method The fs.realPath() method is used to compute the canonical pathname of the given path. It does so by resolving the ., .. and the symbolic links in the path. Syntax: fs.realpath( path, options, callback ) Parameters: This method accept three parameters as mentioned above and described below: path: It
3 min read