Gestione delle Directory in Node.js
Abbiamo appreso numerose tecniche di manipolazione dei file durante l'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 forniremo indicazioni su come navigare tra le directory, raccogliere statistiche essenziali, elaborare directory e creare 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.
Si consideri 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: leggere i 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 per passo
Ottenere le statistiche delle directory con fs.stat
Le directory contengono file e includono 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 per passo
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
Awesome!
Completion rate improved to 2.56
Gestione delle Directory in Node.js
Scorri per mostrare il menu
Abbiamo appreso numerose tecniche di manipolazione dei file durante l'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 forniremo indicazioni su come navigare tra le directory, raccogliere statistiche essenziali, elaborare directory e creare 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.
Si consideri 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: leggere i 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 per passo
Ottenere le statistiche delle directory con fs.stat
Le directory contengono file e includono 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 per passo
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!