Écriture de fichiers avec Node

Comment écrire des fichiers à l'aide de Node

Le moyen le plus simple d'écrire dans des fichiers dans Node.js consiste à utiliser lefs.writeFile()API.

Exemple:

const fs = require('fs')

const content = ‘Some content!’

fs.writeFile(’/Users/flavio/test.txt’, content, (err) => { if (err) { console.error(err) return } //file written successfully })

Vous pouvez également utiliser la version synchronefs.writeFileSync():

const fs = require('fs')

const content = ‘Some content!’

try { const data = fs.writeFileSync(’/Users/flavio/test.txt’, content) //file written successfully } catch (err) { console.error(err) }

Par défaut, cette APIremplacer le contenu du fichiers'il existe déjà.

Vous pouvez modifier la valeur par défaut en spécifiant un indicateur:

fs.writeFile('/Users/flavio/test.txt', content, { flag: 'a+' }, (err) => {})

Les drapeaux que vous utiliserez probablement sont

  • r+ouvrez le fichier pour la lecture et l'écriture
  • w+ouvrez le fichier pour la lecture et l'écriture, en positionnant le flux au début du fichier. Le fichier est créé s'il n'existe pas
  • aouvrez le fichier pour l'écriture, en positionnant le flux à la fin du fichier. Le fichier est créé s'il n'existe pas
  • a+ouvrez le fichier pour la lecture et l'écriture, en positionnant le flux à la fin du fichier. Le fichier est créé s'il n'existe pas

(vous pouvez trouver plus de drapeaux surhttps://nodejs.org/api/fs.html#fs_file_system_flags)

Ajouter à un fichier

Une méthode pratique pour ajouter du contenu à la fin d'un fichier estfs.appendFile()(et sonfs.appendFileSync()homologue):

const content = 'Some content!'

fs.appendFile(‘file.log’, content, (err) => { if (err) { console.error(err) return } //done! })

Utilisation des flux

Toutes ces méthodes écrivent le contenu complet dans le fichier avant de renvoyer le contrôle à votre programme (dans la version asynchrone, cela signifie exécuter le rappel)

Dans ce cas, une meilleure option consiste à écrire le contenu du fichier à l'aide de flux.

Téléchargez mon gratuitManuel de Node.js


Plus de didacticiels sur les nœuds: