【Node.js24.x】Object::FileReadStream()メソッドの使い方
FileReadStreamメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
FileReadStreamメソッドは、ファイルからデータを効率的に読み込むためのストリーム処理を実行するメソッドです。このメソッドは、ファイル全体を一度にメモリに読み込むのではなく、データを小さな塊(チャンク)に分割して順次提供する「ストリーム」という方式を採用しています。
このアプローチの最大の利点は、非常に大きなファイルであっても、システムメモリを圧迫することなく処理できる点にあります。例えば、数ギガバイトにも及ぶログファイルや大規模なデータファイルを扱う際に、メモリ使用量を抑えながら、高速かつ非同期にデータ処理を進めることが可能です。これにより、アプリケーションのパフォーマンスと安定性を高めることができます。
FileReadStreamメソッドはイベント駆動型であり、データが読み込まれるたびに特定のイベント(dataイベントなど)を発行します。これにより、データが利用可能になった時点で逐次処理を開始でき、ファイルの読み込みが完了した際(endイベント)や、途中でエラーが発生した場合(errorイベント)にも適切に対応することができます。
システムエンジニアがファイルのコンテンツをリアルタイムで解析したり、大規模なデータを効率的に転送したりするアプリケーションを開発する際に、このFileReadStreamメソッドは基本的ながらも非常に強力なツールとなります。I/O操作のパフォーマンスとリソース効率を向上させる上で、その役割は重要です。
構文(syntax)
1const fs = require('node:fs'); 2 3const fileReadStream = fs.createReadStream('./path/to/your/file.txt', { encoding: 'utf8' }); 4 5fileReadStream.on('data', (chunk) => { 6 // 読み込んだデータチャンクを処理 7}); 8 9fileReadStream.on('end', () => { 10 // ファイルの読み込みが完了 11}); 12 13fileReadStream.on('error', (err) => { 14 // エラー発生時の処理 15});
引数(parameters)
path, options
- path: string | URL | Buffer | integer: 読み込むファイルのパス、URL、またはファイルディスクリプタ
- options: object = { encoding: null, autoClose: true, emitClose: false, start: 0, end: Infinity, highWaterMark: 64 * 1024,
encoding: string = 'utf8',mode: number = 0o666,flags: string = 'r',fd: number | null = null,fs: object | null = null }: ファイル読み込みに関するオプション設定オブジェクト
戻り値(return)
戻り値なし
戻り値はありません