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

Керування Каталогами в 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");

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

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

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

question mark

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

Виберіть правильну відповідь

question mark

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

Виберіть правильну відповідь

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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