Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione delle Directory in Node.js | Creazione di Applicazioni Console con Node.js
Sviluppo Backend con Node.js ed Express.js

bookGestione 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?

question mark

Quale metodo può essere utilizzato per elencare il contenuto di una directory?

Select the correct answer

question mark

Qual è lo scopo del metodo fs.stat?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 9

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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

bookGestione 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?

question mark

Quale metodo può essere utilizzato per elencare il contenuto di una directory?

Select the correct answer

question mark

Qual è lo scopo del metodo fs.stat?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 9
some-alt