【Node.js24.x】Object::Dirent()メソッドの使い方
Direntメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Direntクラスは、Node.jsのfsモジュールにおいて、ファイルシステム上のディレクトリに含まれる各エントリ(ファイルやサブディレクトリ、シンボリックリンクなど)の詳細な情報を表すクラスです。
fs.readdir()やfs.readdirSync()といったディレクトリの内容を読み取る関数が呼び出された際に、その結果としてDirentオブジェクトの配列が返されます。これらのオブジェクトは、指定されたディレクトリ内の個々の項目に対応しています。
各Direntオブジェクトは、nameプロパティを通じてエントリの名前(ファイル名やサブディレクトリ名)を文字列として保持しています。さらに、そのエントリの種類を判定するための便利なメソッド群を提供します。例えば、isFile()は通常ファイルであればtrueを、isDirectory()はディレクトリであればtrueを、isSymbolicLink()はシンボリックリンクであればtrueを返します。これらのメソッドを活用することで、エントリの種類を容易に識別し、特定の種類の項目だけを対象とした処理を安全に実装できます。
システムエンジニアを目指す初心者の方にとって、Direntクラスは、Node.jsでファイルシステムを操作し、ディレクトリの内容を効率的に探索・処理する上で不可欠なツールです。このクラスを理解することで、ファイルシステム関連のプログラミングにおけるコードの可読性と堅牢性が向上します。
構文(syntax)
1const fs = require('node:fs'); 2 3// ディレクトリ内のエントリをDirentオブジェクトの配列として取得します 4const dirents = fs.readdirSync('.', { withFileTypes: true }); 5 6// 最初のDirentオブジェクトが存在する場合に、それがファイルであるかを確認する構文 7const isFirstEntryAFile = dirents.length > 0 ? dirents[0].isFile() : false;
引数(parameters)
name, type, path
- name: string: ディレクトリまたはファイルの名前
- type: string: エントリのタイプ ('file', 'directory', 'symlink' など)
- path: string: エントリへの絶対パス
戻り値(return)
Dirent
Dirent オブジェクトは、fs.readdir() などのファイルシステム操作の結果として返され、ファイルまたはディレクトリに関する情報(名前、種類など)を含んでいます。