Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Керування Каталогами в Node.js | Створення Консольних Застосунків з Node.js
Розробка бекенду з Node.js та Express.js

bookКерування Каталогами в Node.js

Ми розглянули багато технік роботи з файлами під час вивчення модуля FileSystem (fs). Однак каталоги — це не лише місця для зберігання файлів; вони відкривають можливості для організації, аналізу даних та іншого.

У цьому розділі розглянемо маніпуляції з каталогами, навчимося орієнтуватися в них, збирати важливу статистику, обробляти каталоги та створювати скрипт для аналізу й відображення вмісту каталогів.

📂 Навігація каталогами за допомогою fs.readdir

Метод fs.readdir асинхронно зчитує вміст каталогу. Він повертає масив імен файлів. Цей метод корисний для завдань, пов'язаних зі списком файлів у папці.

Уявіть ситуацію, коли потрібно працювати з великою кількістю юридичних контрактів, позовних заяв та інших документів, що стосуються різних справ і клієнтів. Можна створити систему, яка витягує та виводить імена файлів у папці кожного клієнта.

Приклад коду: Зчитування імен файлів у каталозі

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

Покрокове пояснення

📊 Отримання статистики директорій за допомогою fs.stat

Директорії містять файли та зберігають цінну інформацію про атрибути кожного файлу.

Метод fs.stat асинхронно отримує статистику файлу або директорії. Ця статистика включає розмір файлу, дозволи, часові мітки та інше.

Давайте отримаємо статистику кожної папки всередині папки docs.

Приклад коду: Отримання імен директорій та їх статистики

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

Пояснення крок за кроком

🧐 Час для вікторини

Перевірте свої знання модуля FileSystem (fs) за допомогою кількох запитань, пов'язаних з керуванням директоріями.

1. Який метод можна використати для отримання списку вмісту директорії?

2. Яке призначення методу fs.stat?

question mark

Який метод можна використати для отримання списку вмісту директорії?

Select the correct answer

question mark

Яке призначення методу fs.stat?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

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

bookКерування Каталогами в Node.js

Свайпніть щоб показати меню

Ми розглянули багато технік роботи з файлами під час вивчення модуля FileSystem (fs). Однак каталоги — це не лише місця для зберігання файлів; вони відкривають можливості для організації, аналізу даних та іншого.

У цьому розділі розглянемо маніпуляції з каталогами, навчимося орієнтуватися в них, збирати важливу статистику, обробляти каталоги та створювати скрипт для аналізу й відображення вмісту каталогів.

📂 Навігація каталогами за допомогою fs.readdir

Метод fs.readdir асинхронно зчитує вміст каталогу. Він повертає масив імен файлів. Цей метод корисний для завдань, пов'язаних зі списком файлів у папці.

Уявіть ситуацію, коли потрібно працювати з великою кількістю юридичних контрактів, позовних заяв та інших документів, що стосуються різних справ і клієнтів. Можна створити систему, яка витягує та виводить імена файлів у папці кожного клієнта.

Приклад коду: Зчитування імен файлів у каталозі

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

Покрокове пояснення

📊 Отримання статистики директорій за допомогою fs.stat

Директорії містять файли та зберігають цінну інформацію про атрибути кожного файлу.

Метод fs.stat асинхронно отримує статистику файлу або директорії. Ця статистика включає розмір файлу, дозволи, часові мітки та інше.

Давайте отримаємо статистику кожної папки всередині папки docs.

Приклад коду: Отримання імен директорій та їх статистики

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

Пояснення крок за кроком

🧐 Час для вікторини

Перевірте свої знання модуля FileSystem (fs) за допомогою кількох запитань, пов'язаних з керуванням директоріями.

1. Який метод можна використати для отримання списку вмісту директорії?

2. Яке призначення методу fs.stat?

question mark

Який метод можна використати для отримання списку вмісту директорії?

Select the correct answer

question mark

Яке призначення методу fs.stat?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9
some-alt