Im trying to write into a text file in node.js. Im doing this the following way:
fs.writeFile("persistence\\announce.txt", string, function (err) {
if (err) {
return console.log("Error writing file: " + err);
}
});
whereas string is a variable.
This function will begin it`s writing always at the beginning of a file, so it will overwrite previous content.
I have a problem in the following case:
old content:
Hello Stackoverflow
new write:
Hi Stackoverflow
Now the following content will be in the file:
Hi stackoverflowlow
The new write was shorter then the previous content, so part of the old content is still persistent.
My question:
What do I need to do, so that the old content of a file will be completely removed before the new write is made?
You can try truncating the file first:
fs.truncate("persistence\\announce.txt", 0, function() {
fs.writeFile("persistence\\announce.txt", string, function (err) {
if (err) {
return console.log("Error writing file: " + err);
}
});
});
Rename the old file and append to therefore a non existent file (creating a new one). This way you have on the one hand a backup and on other hand a fresh updated file ./config.json
:
fs.renameSync('./config.json', './config.json.bak')
fs.appendFileSync('./config.json', text)
(sync version, might throw)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With