Le module fs (File System) de Node.js est un outil puissant pour travailler avec le système de fichiers, vous permettant d'interagir avec les fichiers et les répertoires de votre serveur. Il est intégré à Node.js, vous n'avez donc pas besoin d'installer quoi que ce soit de plus pour l'utiliser. Explorons le fonctionnement de fs et ses fonctions clés.
Le module fs fournit une API pour interagir avec le système de fichiers d'une manière étroitement calquée sur les fonctions POSIX standard. Ce module est utilisé pour des tâches telles que la lecture et l'écriture de fichiers, la création de répertoires, etc.
Pour utiliser le module fs, vous devez l'exiger au début de votre script Node.js :
const fs = require('fs');
Il existe deux manières principales de lire des fichiers : de manière asynchrone et synchrone.
Cette méthode est non bloquante, ce qui signifie qu'elle n'arrêtera pas l'exécution de votre programme pendant qu'il lit le fichier.
fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
Cette méthode est bloquante, ce qui signifie qu'elle arrêtera l'exécution de votre programme jusqu'à ce que le fichier soit lu.
try { const data = fs.readFileSync('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); }
Semblable à la lecture de fichiers, l'écriture peut également être effectuée de manière asynchrone ou synchrone.
fs.writeFile('example.txt', 'Hello, World!', (err) => { if (err) { console.error(err); return; } console.log('File has been saved!'); });
try { fs.writeFileSync('example.txt', 'Hello, World!'); console.log('File has been saved!'); } catch (err) { console.error(err); }
Si vous souhaitez ajouter du contenu à un fichier existant sans l'écraser, utilisez la méthode appendFile.
fs.appendFile('example.txt', '\nAppended Content', (err) => { if (err) { console.error(err); return; } console.log('Content has been appended!'); });
try { fs.appendFileSync('example.txt', '\nAppended Content'); console.log('Content has been appended!'); } catch (err) { console.error(err); }
Pour supprimer un fichier, utilisez la méthode de dissociation.
fs.unlink('example.txt', (err) => { if (err) { console.error(err); return; } console.log('File deleted!'); });
try { fs.unlinkSync('example.txt'); console.log('File deleted!'); } catch (err) { console.error(err); }
fs.mkdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory created!'); });
fs.readdir('newDir', (err, files) => { if (err) { console.error(err); return; } console.log('Files in directory:', files); });
fs.rmdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory deleted!'); });
Vous pouvez surveiller les modifications dans un fichier en utilisant la méthode fs.watch :
fs.watch('example.txt', (eventType, filename) => { if (filename) { console.log(`${filename} file Changed!`); } });
Node.js fournit des flux fs pour gérer les fichiers volumineux qui peuvent ne pas tenir dans la mémoire.
const readStream = fs.createReadStream('example.txt', 'utf8'); readStream.on('data', (chunk) => { console.log(chunk); });
const writeStream = fs.createWriteStream('example.txt'); writeStream.write('Hello, '); writeStream.write('World!'); writeStream.end();
Node.js fournit une méthode simple pour copier des fichiers :
fs.copyFile('source.txt', 'destination.txt', (err) => { if (err) { console.error(err); return; } console.log('File copied successfully!'); });
Le module fs dispose également de méthodes basées sur des promesses, ce qui facilite le travail avec des fonctionnalités JavaScript modernes telles que async/await.
const fsPromises = require('fs').promises; async function readFile() { try { const data = await fsPromises.readFile('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
Le module fs est polyvalent et essentiel pour toute application Node.js qui doit interagir avec le système de fichiers. En comprenant ses différentes méthodes, en gérant efficacement les flux et en employant les meilleures pratiques, vous serez bien équipé pour gérer les opérations sur les fichiers dans Node.js de manière efficace et sécurisée.
N'oubliez pas de consulter la documentation officielle de Node.js pour obtenir les informations les plus récentes et les fonctionnalités supplémentaires du module fs.
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!