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

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

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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

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

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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