Cours complet sur le module fs en Node.
js
Le module fs (File System) de [Link] permet d’interagir avec le système de fichiers : lire,
écrire, créer, supprimer, renommer des fichiers et des dossiers.
[Link] propose trois approches principales :
• API synchrone (sync)
• API callback
• API promises
1. API Synchronous (Sync)
Les fonctions synchrones sont bloquantes : le programme attend que l’opération sur le
fichier soit terminée avant de continuer.
Exemple : lire un fichier
import fs from 'fs';
try {
const data = [Link]('[Link]', 'utf8');
[Link](data);
} catch (err) {
[Link]('Erreur de lecture :', err);
}
Exemple : écrire dans un fichier
try {
[Link]('[Link]', 'Bonjour [Link] !', 'utf8');
[Link]('Fichier écrit avec succès !');
} catch (err) {
[Link]('Erreur d’écriture :', err);
}
2. API Callback
Cette approche est non bloquante. Les résultats sont récupérés via une fonction callback
(err, data).
Lire un fichier
[Link]('[Link]', 'utf8', (err, data) => {
if (err) {
[Link]('Erreur de lecture :', err);
return;
}
[Link](data);
});
3. API Promises (fs/promises)
Depuis [Link] v10+, fs propose un sous-module fs/promises basé sur les promesses et
compatible avec async/await.
Lire un fichier avec Promises
import fs from 'fs/promises';
async function lireFichier() {
try {
const data = await [Link]('[Link]', 'utf8');
[Link](data);
} catch (err) {
[Link]('Erreur de lecture :', err);
}
}
lireFichier();
Exemple complet
async function gestionFichier() {
const chemin = '[Link]';
try {
await [Link](chemin, 'Coucou [Link] !');
const contenu = await [Link](chemin, 'utf8');
[Link](contenu);
await [Link](chemin);
} catch (err) {
[Link](err);
}
}
gestionFichier();