[Node.js] Write or Append to a File in Node.js with fs.writeFile and fs.writeFileSync

时间:2022-07-25 14:01:55

In node.js, you can require fs, and then call fs.writeFile with the filename, and data to write to that file (as a string or a buffer). That will overwrite the entire file, so to just append that data to the file instead, pass an options object with the flag key set to a. Or, you can use fs.appendFile. Make sure to handle errors using a callback as the last argument to writeFile and appendFile.

There are synchronous versions of each function as well, fs.writeFileSync and fs.appendFileSync, which will throw errors, instead of returning them in a callback.

 

const fs = require('fs')

const contents = 'Data to write 123\n'

// Write File, async:
fs.writeFile('output.txt', contents, {
  // flag: 'a' // 'a' flag for append
}, (err) => {
  console.log("ERROR: ", err)
})


// Append File, async: 
fs.appendFile('output.txt', contents, (err) => {
  console.log("ERROR: ", err)
})


// Write File, Sync:
fs.writeFileSync('output.txt', contents)

// Append File, Sync:
fs.appendFileSync('output.txt', contents)


// Sync Error example:
try {
  fs.appendFileSync('output.txt', contents, {
    flag: 'ax'
  })  
} catch(e) {
  console.log("ERROR: ", e)
}

console.log("\nEnd of script")