Gestion des Répertoires dans Node.js
Glissez pour afficher le menu
Nous avons exploré de nombreuses techniques de manipulation de fichiers grâce au module FileSystem (fs). Mais les répertoires sont bien plus que de simples emplacements pour stocker des fichiers : ils offrent des possibilités d'organisation, d'analyse de données, et bien plus encore.
Dans ce chapitre, une exploration de la manipulation des répertoires, des conseils pour naviguer dans les dossiers, la collecte de statistiques essentielles, le traitement des répertoires et la création d'un script pour analyser et afficher le contenu des répertoires.
Navigation dans les répertoires avec fs.readdir
La méthode fs.readdir lit de manière asynchrone le contenu d'un répertoire. Elle retourne un tableau de noms de fichiers. Cette méthode est utile pour lister les fichiers d'un dossier.
Considérer un scénario impliquant de nombreux contrats juridiques, mémoires et autres documents relatifs à différents dossiers et clients. Un système peut être mis en place pour extraire et lister les noms des fichiers présents dans le dossier de chaque client.
Exemple de code : Lire les noms de fichiers d'un répertoire
const fs = require("fs").promises;
async function listDirectoryContents(directoryPath) {
try {
const files = await fs.readdir(directoryPath);
console.log("Directory Contents:", files);
} catch (err) {
console.error("Error reading directory:", err.message);
}
}
listDirectoryContents("./docs");
Explication étape par étape
Obtention des statistiques des répertoires avec fs.stat
Les répertoires contiennent des fichiers et détiennent des informations précieuses sur les attributs de chaque fichier.
La méthode fs.stat récupère de manière asynchrone les statistiques d’un fichier ou d’un répertoire. Ces statistiques incluent la taille du fichier, les permissions, les horodatages, et plus encore.
Obtenons les statistiques de chaque dossier à l’intérieur du dossier docs.
Exemple de code : Obtenir les noms et statistiques des répertoires
const fs = require("fs").promises;
async function processDirectoryContents(directoryPath) {
try {
const files = await fs.readdir(directoryPath);
const fileStatsPromises = files.map(async (file) => {
const filePath = `${directoryPath}/${file}`;
const stats = await fs.stat(filePath);
return { name: file, stats };
});
const fileStats = await Promise.all(fileStatsPromises);
console.log("Detailed File Information:", fileStats);
} catch (err) {
console.error("Error processing directory contents:", err.message);
}
}
processDirectoryContents("./docs");
Explication étape par étape
1. Quelle méthode peut être utilisée pour lister le contenu d’un répertoire ?
2. Quel est le but de la méthode fs.stat ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion