Керування Каталогами у 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?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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");
Пояснення крок за кроком
1. Який метод можна використати для отримання списку вмісту директорії?
2. Яке призначення методу fs.stat?
Дякуємо за ваш відгук!