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 メソッドの目的は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 9
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 9