【Node.js24.x】Object::createReadStream()メソッドの使い方
createReadStreamメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
createReadStreamメソッドは、Node.jsにおいて、ファイルからデータを効率的に読み込むための読み込みストリームを作成するメソッドです。このメソッドは、特にサイズが大きいファイルを扱う際に非常に有用です。ファイル全体を一度にコンピュータのメモリに読み込むのではなく、データを小さな断片(チャンク)に分割し、準備ができたものから順次処理していく「ストリーム」という仕組みを提供します。これにより、プログラムのメモリ使用量を抑えながら、ファイルのI/O(入力・出力)処理を効率的に実行できます。
このメソッドを呼び出すと、指定されたファイルパスに対する読み込み可能なストリームオブジェクトが返されます。このストリームオブジェクトは、データの読み込み状況に応じて様々なイベントを発行します。たとえば、dataイベントは新しいデータチャンクが利用可能になったことを通知し、endイベントはファイルの読み込みがすべて完了したことを知らせます。また、読み込み中にエラーが発生した場合にはerrorイベントが発火します。
利用者は、オプションとして、読み込みを開始するファイルのバイト位置や終了バイト位置、文字エンコーディングなどを指定して、読み込み動作を細かく制御できます。システムエンジニアとして、ログファイルの処理、Webサーバーでの大容量ファイルの配信、またはデータ処理パイプラインの構築など、効率的なファイル操作が求められる多くのシナリオで、createReadStreamメソッドは非常に重要な役割を果たします。
構文(syntax)
import { createReadStream } from 'node:fs';
const readableStream = createReadStream('path/to/your/file.txt', {
encoding: 'utf8',
highWaterMark: 65536 // バッファサイズを64KBに設定
});
引数(parameters)
path, options
- path: string: 読み込むファイルのパス
- options: object: 読み込みストリームのオプションを指定するオブジェクト
戻り値(return)
fs.ReadStream
fs.ReadStreamオブジェクトを返します。このオブジェクトは、ファイルからデータを読み込むためのストリームインターフェースを提供します。