Node fs.appendFile() Function

The fs.appendFile() method is used to asynchronously append the given data to a file. A new file is created if it does not exist. The options parameter can be used to modify the behavior of the operation.

Syntax:

fs.appendFile( path, data[, options], callback )

Parameters:

This method accepts four parameters as mentioned above and described below:

  • path: It is a String, Buffer, URL or number that denotes the source filename or file descriptor that will be appended to.
  • data: It is a String or Buffer that denotes the data that has to be appended.
  • options: It is an string or an object that can be used to specify optional parameters that will affect the output. It has three optional parameters:
    • encoding: It is a string which specifies the encoding of the file. The default value is ‘utf8’.
    • mode: It is an integer which specifies the file mode. The default value is ‘0o666’.
    • flag: It is a string which specifies the flag used while appending to the file. The default value is ‘a’.
  • callback: It is a function that would be called when the method is executed.
    • err: It is an error that would be thrown if the method fails.

Below examples illustrate the fs.appendFile() method in Node.js:

Example 1: This example shows the appending of the given text to a file.

Javascript




// Node.js program to demonstrate the
// fs.appendFile() method
 
// Import the filesystem module
const fs = require('fs');
 
// Get the file contents before the append operation
console.log("\nFile Contents of file before append:",
    fs.readFileSync("example_file.txt", "utf8"));
 
fs.appendFile("example_file.txt", "World", (err) => {
    if (err) {
        console.log(err);
    }
    else {
        // Get the file contents after the append operation
        console.log("\nFile Contents of file after append:",
            fs.readFileSync("example_file.txt", "utf8"));
    }
});


Output:

File Contents of file before append: Hello
File Contents of file after append: HelloWorld

Example 2: This example shows the usage of the optional parameters to change the file encoding, mode, and flag of the operation.

Javascript




// Node.js program to demonstrate the
// fs.appendFile() method
 
// Import the filesystem module
const fs = require('fs');
 
// Get the file contents before the append operation
console.log("\nFile Contents of file before append:",
    fs.readFileSync("example_file.txt", "utf8"));
 
fs.appendFile("example_file.txt", " - w3wiki",
    { encoding: "latin1", mode: 0o666, flag: "a" },
    (err) => {
        if (err) {
            console.log(err);
        }
        else {
            // Get the file contents after the append operation
            console.log("\nFile Contents of file after append:",
                fs.readFileSync("example_file.txt", "utf8"));
        }
    });


Output:

File Contents of file before append: This is a test file
File Contents of file after append: This is a test file - BeginnerForGeek

We have a Cheat Sheet on Node fs modules where we covered all the fs methods to check those please go through Node File System Complete Reference article