Gestione delle Directory in Node.js
Abbiamo appreso molte tecniche di manipolazione dei file durante la nostra esplorazione del modulo FileSystem (fs). Tuttavia, le directory sono più che semplici contenitori di file: offrono opportunità di organizzazione, analisi dei dati e altro ancora.
In questo capitolo, approfondiremo la manipolazione delle directory e ti guideremo nella navigazione tra le directory, nella raccolta di statistiche essenziali, nell'elaborazione delle directory e nella creazione di uno script per analizzare e visualizzare i contenuti delle directory.
📂 Navigazione tra directory con fs.readdir
Il metodo fs.readdir legge in modo asincrono il contenuto di una directory. Restituisce un array di nomi di file. Questo metodo può essere utile per elencare i file presenti in una cartella.
Considera uno scenario in cui si gestiscono numerosi contratti legali, memorie e altri documenti relativi a diversi casi e clienti. Si potrebbe creare un sistema che estragga ed elenchi i nomi dei file all'interno della cartella di ciascun cliente.
Esempio di codice: Lettura dei nomi dei file di una directory
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");
Spiegazione passo dopo passo
📊 Ottenere le statistiche delle directory con fs.stat
Le directory contengono file e conservano informazioni preziose sugli attributi di ciascun file.
Il metodo fs.stat recupera in modo asincrono le statistiche di un file o di una directory. Queste statistiche includono dimensione del file, permessi, timestamp e altro ancora.
Vediamo come ottenere le statistiche di ogni cartella all'interno della cartella docs.
Esempio di codice: Ottenere nomi e statistiche delle directory
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");
Spiegazione passo dopo passo
🧐 Tempo di Quiz
Mettiamo alla prova la tua conoscenza del modulo FileSystem (fs) con alcune domande relative alla gestione delle directory.
1. Quale metodo può essere utilizzato per elencare il contenuto di una directory?
2. Qual è lo scopo del metodo fs.stat?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between fs.readdir and fs.stat?
How can I filter only directories or only files from the results?
What other useful information can I get from the stats object?
Awesome!
Completion rate improved to 2.56
Gestione delle Directory in Node.js
Scorri per mostrare il menu
Abbiamo appreso molte tecniche di manipolazione dei file durante la nostra esplorazione del modulo FileSystem (fs). Tuttavia, le directory sono più che semplici contenitori di file: offrono opportunità di organizzazione, analisi dei dati e altro ancora.
In questo capitolo, approfondiremo la manipolazione delle directory e ti guideremo nella navigazione tra le directory, nella raccolta di statistiche essenziali, nell'elaborazione delle directory e nella creazione di uno script per analizzare e visualizzare i contenuti delle directory.
📂 Navigazione tra directory con fs.readdir
Il metodo fs.readdir legge in modo asincrono il contenuto di una directory. Restituisce un array di nomi di file. Questo metodo può essere utile per elencare i file presenti in una cartella.
Considera uno scenario in cui si gestiscono numerosi contratti legali, memorie e altri documenti relativi a diversi casi e clienti. Si potrebbe creare un sistema che estragga ed elenchi i nomi dei file all'interno della cartella di ciascun cliente.
Esempio di codice: Lettura dei nomi dei file di una directory
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");
Spiegazione passo dopo passo
📊 Ottenere le statistiche delle directory con fs.stat
Le directory contengono file e conservano informazioni preziose sugli attributi di ciascun file.
Il metodo fs.stat recupera in modo asincrono le statistiche di un file o di una directory. Queste statistiche includono dimensione del file, permessi, timestamp e altro ancora.
Vediamo come ottenere le statistiche di ogni cartella all'interno della cartella docs.
Esempio di codice: Ottenere nomi e statistiche delle directory
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");
Spiegazione passo dopo passo
🧐 Tempo di Quiz
Mettiamo alla prova la tua conoscenza del modulo FileSystem (fs) con alcune domande relative alla gestione delle directory.
1. Quale metodo può essere utilizzato per elencare il contenuto di una directory?
2. Qual è lo scopo del metodo fs.stat?
Grazie per i tuoi commenti!