Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je ajouter des données à un fichier dans Node.js tout en préservant le contenu existant ?

Susan Sarandon
Libérer: 2024-11-24 05:33:10
original
821 Les gens l'ont consulté

How Can I Append Data to a File in Node.js While Preserving Existing Content?

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!');
});
Copier après la connexion

2. Ajouts synchrones avec appendFileSync

const fs = require('fs');

fs.appendFileSync('message.txt', 'data to append');
Copier après la connexion

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;
  });
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal