Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Gerenciamento de Diretórios no Node.js | Construindo Aplicações de Console com Node.js
Desenvolvimento Backend com Node.js e Express.js

bookGerenciamento de Diretórios no Node.js

Aprendemos várias técnicas de manipulação de arquivos durante nossa exploração do módulo FileSystem (fs). No entanto, diretórios são mais do que locais para armazenar arquivos – eles oferecem oportunidades para organização, análise de dados e muito mais.

Neste capítulo, abordaremos a manipulação de diretórios e orientaremos sobre como navegar entre diretórios, coletar estatísticas importantes, processar diretórios e criar um script para analisar e exibir o conteúdo de diretórios.

📂 Navegação em Diretórios com fs.readdir

O método fs.readdir lê de forma assíncrona o conteúdo de um diretório. Ele retorna um array com os nomes dos arquivos. Este método pode ser útil para listar arquivos em uma pasta.

Considere um cenário em que lidamos com contratos jurídicos extensos, petições e outros documentos relacionados a diferentes casos e clientes. Podemos criar um sistema que extraia e liste os nomes dos arquivos dentro da pasta de cada cliente.

Exemplo de Código: Ler os nomes dos arquivos de um diretório

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");

Explicação Passo a Passo

📊 Obtendo Estatísticas de Diretórios com fs.stat

Diretórios armazenam arquivos e contêm informações valiosas sobre os atributos de cada arquivo.

O método fs.stat recupera estatísticas de um arquivo ou diretório de forma assíncrona. Essas estatísticas incluem tamanho do arquivo, permissões, carimbos de data/hora e outros dados.

Veja como obter as estatísticas de cada pasta dentro da pasta docs.

Exemplo de Código: Obter nomes e estatísticas de diretórios

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");

Explicação Passo a Passo

🧐 Hora do Quiz

Vamos testar seu conhecimento sobre o módulo FileSystem (fs) com algumas perguntas relacionadas à manipulação de diretórios.

1. Qual método pode ser usado para listar o conteúdo de um diretório?

2. Qual é o propósito do método fs.stat?

question mark

Qual método pode ser usado para listar o conteúdo de um diretório?

Select the correct answer

question mark

Qual é o propósito do método fs.stat?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 9

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

bookGerenciamento de Diretórios no Node.js

Deslize para mostrar o menu

Aprendemos várias técnicas de manipulação de arquivos durante nossa exploração do módulo FileSystem (fs). No entanto, diretórios são mais do que locais para armazenar arquivos – eles oferecem oportunidades para organização, análise de dados e muito mais.

Neste capítulo, abordaremos a manipulação de diretórios e orientaremos sobre como navegar entre diretórios, coletar estatísticas importantes, processar diretórios e criar um script para analisar e exibir o conteúdo de diretórios.

📂 Navegação em Diretórios com fs.readdir

O método fs.readdir lê de forma assíncrona o conteúdo de um diretório. Ele retorna um array com os nomes dos arquivos. Este método pode ser útil para listar arquivos em uma pasta.

Considere um cenário em que lidamos com contratos jurídicos extensos, petições e outros documentos relacionados a diferentes casos e clientes. Podemos criar um sistema que extraia e liste os nomes dos arquivos dentro da pasta de cada cliente.

Exemplo de Código: Ler os nomes dos arquivos de um diretório

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");

Explicação Passo a Passo

📊 Obtendo Estatísticas de Diretórios com fs.stat

Diretórios armazenam arquivos e contêm informações valiosas sobre os atributos de cada arquivo.

O método fs.stat recupera estatísticas de um arquivo ou diretório de forma assíncrona. Essas estatísticas incluem tamanho do arquivo, permissões, carimbos de data/hora e outros dados.

Veja como obter as estatísticas de cada pasta dentro da pasta docs.

Exemplo de Código: Obter nomes e estatísticas de diretórios

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");

Explicação Passo a Passo

🧐 Hora do Quiz

Vamos testar seu conhecimento sobre o módulo FileSystem (fs) com algumas perguntas relacionadas à manipulação de diretórios.

1. Qual método pode ser usado para listar o conteúdo de um diretório?

2. Qual é o propósito do método fs.stat?

question mark

Qual método pode ser usado para listar o conteúdo de um diretório?

Select the correct answer

question mark

Qual é o propósito do método fs.stat?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 9
some-alt