Préserver le contenu d'un fichier existant : ajout à un fichier dans Node
Ajouter des données à un fichier dans Node tout en conservant le contenu existant peut être délicat, comme le démontre le comportement de la méthode writeFile. Pour surmonter ce défi, envisagez d'utiliser la méthode appendFile :
1. Ajouts asynchrones avec appendFile
const fs = require('fs'); fs.appendFile('message.txt', 'data to append', function (err) { if (err) throw err; console.log('Saved!'); });
2. Ajouts synchrones avec appendFileSync
const fs = require('fs'); fs.appendFileSync('message.txt', 'data to append');
Ces méthodes effectuent respectivement des ajouts asynchrones ou synchrones, en utilisant un nouveau descripteur de fichier à chaque fois qu'elles sont invoquées.
3. Réutilisation du descripteur de fichier
Cependant, pour les ajouts fréquents au même fichier, il est recommandé de réutiliser le descripteur de fichier pour améliorer l'efficacité. Ceci peut être réalisé en utilisant la méthode fs.open :
const fs = require('fs'); fs.open('message.txt', 'a', function(err, fd) { if (err) throw err; // Append data using the file handle fs.write(fd, 'data to append', function(err) { if (err) throw err; }); // Close the file handle when finished fs.close(fd, function(err) { if (err) throw err; }); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!