Керування Каталогами в 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?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Керування Каталогами в 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?
Дякуємо за ваш відгук!