Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Object::readdirSync()メソッドの使い方

readdirSyncメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

readdirSyncメソッドは、Node.jsのファイルシステム(fs)モジュールに属し、指定されたディレクトリの内容を同期的に読み取ることを実行するメソッドです。

このメソッドは、引数として渡されたディレクトリパス内に存在するすべてのファイル名とサブディレクトリ名を、文字列の配列として返します。例えば、特定のフォルダにどのようなファイルやサブフォルダが含まれているかを知りたい場合に利用します。名前に「Sync」とある通り、処理が完了するまでNode.jsのイベントループ(メインスレッド)をブロックします。そのため、大量のファイルが存在するディレクトリの読み込みや、ネットワーク越しなど応答に時間がかかるI/O操作を行う場合、アプリケーション全体の応答性が低下する可能性があるため、非同期版のfs.readdir()の使用も検討することが重要です。

オプションとして{ withFileTypes: true }を指定することで、ファイルやディレクトリの種別などの詳細情報を含むfs.Direntオブジェクトの配列を返すことも可能です。これにより、各エントリがファイルなのか、ディレクトリなのか、シンボリックリンクなのかといった判別を容易に行えます。

指定されたディレクトリが存在しない、または読み取り権限がないといったエラーが発生した際には、例外(エラー)をスローしますので、try...catchブロックを用いた適切なエラーハンドリングが推奨されます。主に、アプリケーションの起動時における設定ファイルの探索や、特定のディレクトリの内容を一覧表示するといった、シンプルで即座に結果が必要な場面で役立ちます。

構文(syntax)

1const fs = require('node:fs');
2fs.readdirSync(path[, options]);

引数(parameters)

path, options

  • path: string: 読み取るディレクトリのパス
  • options: object: オプションを指定するオブジェクト

戻り値(return)

string[] | Dirent[]

指定されたディレクトリ内のファイルやディレクトリの名前の配列、または Dirent オブジェクトの配列を返します。

関連コンテンツ

関連プログラミング言語