Node.js fs.write() Method
Last Updated : 11 Oct, 2021
File-writing is an important aspect of programming. Every programming language has a well-defined file module that can be used to perform file operations. JavaScript and Node.js also have file module which provides various inbuilt methods for performing read, write, rename, delete and other operations on files. The file module of Node.js is called the
fs module. By default, the fs module writes files with an encoding of 'UTF-8'. The
fs.write() method is an inbuilt application programming interface of fs module which is used to specify the position in a file to begin writing at a buffer to write, as well as which part of the buffer to write out to the file. The fs.write() method can also be used without a buffer by simply using a string variable. The examples given below demonstrate the use of buffer as well as string in the fs.write() method. It is an asynchronous method.
Syntax: - Using buffer
fs.write(fd, buffer, offset, length, position, callback)
- Using string
fs.write(fd, string, position, encoding, callback)
Parameters: The method accept the following parameters as mentioned above and described below:
- fd: A file descriptor the value returned by opening the file using the fs.open() method. It contains an integer value.
- buffer: It contains the buffer type value like Buffer, TypedArray, DataView.
- offset: It is an integer value that determines the part of the buffer to be written to the file.
- length: It is an integer value that specifies the number of bytes to write into the file.
- position: It is an integer value that holds the position refers to the offset from the beginning of the file where the data is to be written.
- callback: It contains callback function that receives error and number of bytes written to the file.
- string: Write string to the file specified by fd.
- encoding: The default encoding value is UTF-8.
Return Value: The callback function receives either error or the number of bytes written. If an error is received then an error message is printed else the number of bytes written is printed.
Example 1: javascript // Node.js program to demonstrate the // fs.write() method // Include fs module const fs=require("fs"); // File path where data is to be written // Here, we assume that the file to be in // the same location as the .js file var path = 'input.txt'; // Declare a buffer and write the // data in the buffer let buffer = new Buffer.from('GeeksforGeeks: ' + 'A computer science portal for geeks\n'); // The fs.open() method takes a "flag" // as the second argument. If the file // does not exist, an empty file is // created. 'a' stands for append mode // which means that if the program is // run multiple time data will be // appended to the output file instead // of overwriting the existing data. fs.open(path, 'a', function(err, fd) { // If the output file does not exists // an error is thrown else data in the // buffer is written to the output file if(err) { console.log('Cant open file'); }else { fs.write(fd, buffer, 0, buffer.length, null, function(err,writtenbytes) { if(err) { console.log('Cant write to file'); }else { console.log(writtenbytes + ' characters added to file'); } }) } })
Output: 51 characters added to file
input.txt file data: GeeksforGeeks: A computer science portal for geeks
Explanation: On successful execution of the program, the data stored in the buffer is appended to the required file. In case the file does not exist beforehand, a new file is created and data is appended to it.
Example 2: javascript // Node.js program to demonstrate the // fs.write() method // Include fs module const fs=require("fs"); const str = "Hello world"; const filename = "input.txt"; fs.open(filename, "a", (err, fd)=>{ if(err){ console.log(err.message); }else{ fs.write(fd, str, (err, bytes)=>{ if(err){ console.log(err.message); }else{ console.log(bytes +' bytes written'); } }) } })
Output: 11 bytes written
input.txt file data: Hello world
Explanation: On successful execution of the program, the string value is written(appended) to the required file.
Reference: 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