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

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

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

作成日: 更新日:

基本的な使い方

opendirSyncメソッドは、Node.jsのファイルシステム(fs)モジュールにおいて、指定されたディレクトリを同期的に開く処理を実行するメソッドです。これは、特定のディレクトリのファイルやサブディレクトリといった内容を読み取る準備をする際に使用されます。

このメソッドは、開きたいディレクトリのパスを引数として受け取ります。オプションとして、ディレクトリ内のファイル名などを読み取る際のエンコーディングを指定することも可能です。正常に処理が完了すると、fs.Dirオブジェクトを返します。このfs.Dirオブジェクトは、開かれたディレクトリのインスタンスであり、そのディレクトリ内の個々のエントリ(ファイルやサブディレクトリ)を読み取るためのreadSync()などのメソッドを提供します。これにより、例えばループ処理を使ってディレクトリ内のすべてのエントリ名を同期的に取得するといった操作が可能になります。

opendirSyncメソッドは「同期」という名の通り、処理が完了するまでNode.jsのイベントループをブロックします。つまり、このメソッドが実行されている間、プログラムの他の部分は一時停止し、次の処理は待機状態になります。そのため、I/O処理が長時間かかるような大きなディレクトリを扱う場合や、ウェブサーバーなどの応答性が求められるアプリケーションでは、アプリケーション全体のパフォーマンスに影響を与える可能性があります。

したがって、ほとんどのI/O操作では、非同期版であるopendirメソッドの使用が推奨されます。エラーが発生した場合は、このメソッドは例外をスローするため、try...catchブロックで適切にエラーハンドリングを行う必要があります。

構文(syntax)

1import { opendirSync } from 'node:fs';
2
3const directoryHandle = opendirSync('./');

引数(parameters)

path, options = {}

  • path: string: 開くディレクトリのパス
  • options: object = {}: ディレクトリを開く際のオプションを指定するオブジェクト

戻り値(return)

fs.Dir

opendirSyncメソッドは、指定されたパスにあるディレクトリを同期的に開き、そのディレクトリの内容を操作するためのfs.Dirオブジェクトを返します。

関連コンテンツ

関連プログラミング言語