このガイドでは、Node.js での読み取り可能なストリームの使用法について説明します。
Node.js で読み取り可能なストリームを使用するには?
” 読みやすい ” ストリームは、” を呼び出すことによって作成されます。 createReadStream() 」を実行し、ローカルサーバーを作成することで読み取ったデータをWebページ上に表示することができます。 「」の協力を得たイベントリスナー の上() 」メソッドを読み取り可能なストリームにアタッチして、ファイルの読み取りの開始時または終了時にメッセージを表示したり、特定のアクションを実行したりすることもできます。
実際のデモンストレーションについては、例をご覧ください。
例: 読み取り可能なストリームを使用したサーバー経由のコンテンツの読み取りと表示
この例では、提供されたファイルのコンテンツが読み取られ、Web ブラウザー上に表示されます。
定数 fsObj = 必要とする ( 「fs」 ) ;
定数 httpオブジェクト = 必要とする ( 「http」 ) ;
定数 ローカルサーバー = httpオブジェクト。 サーバーの作成 ( ( リクエスト、レスポンス ) => {
試す {
// 読み取る対象のファイル
定数 データストリーム = fsObj. 作成読み取りストリーム ( 「ユースケース.txt」 ) ;
// ファイルをパイプして応答に送信します
データストリーム。 パイプ ( 応答 ) ;
} キャッチ ( エラー ) {
コンソール。 エラー ( エラー ) ;
}
} ) ;
ローカルサーバー。 聞く ( 8080 、 ( ) => {
コンソール。 ログ ( 'サーバーはローカルホストのポート番号: '8080' で実行されています ' )
} ) ;
上記のコードの説明は次のとおりです。
- まず、必要な「 fs ' そして ' http ” モジュールを作成し、そのオブジェクトを ” に保存します fsObj ' そして ' httpオブジェクト ” 変数をそれぞれ指定します。
- 次に、「」を呼び出してサーバーが作成されました。 createServer() 」メソッドを使用し、この新しく作成されたサーバーを「 ローカルサーバー ' 変数。
- 次に、「」を使用します。 試す メソッド コールバック関数内の ” ブロックを呼び出して、” createReadStream() 」を使用した方法 fsObj ' 変数。
- 読み取る必要がある対象ファイルの内容をこのメソッドの括弧内に渡し、結果を「 データストリーム ' 変数。
- 「」を挿入します。 データストリーム ” 変数を” 。パイプ() ”メソッドを使用してレスポンスを送信します。
- 「」を活用してください。 キャッチ 」ブロックを使用して、発生したエラーを処理します。
- 最後に、ポート番号を介してサーバーをリッスンまたはセットアップします。 8080 」とコールバック関数を使用して成功メッセージを表示します。
以下のコマンドを使用して、上記のコードを含むファイル (controlFlow.js) を実行します。
ノード制御フロー。 js生成された出力は、「 。パイプ() ' そして ' 読み取り可能なストリーム 」と表示されると、ファイル データが読み取られて宛先ストリームに送信され、Web ページ上に表示されます。
例 2: ReadStream を使用して静的ファイルをローカルで読み取る
この場合、ストリーム経由で提供されたファイルが選択され、そのコンテンツがイベント リスナーの助けを借りてコンソール ウィンドウに表示されます。
定数 fsObj = 必要とする ( 「fs」 ) ;定数 ストリームオブジェクト = fsObj. 作成読み取りストリーム ( 「ユースケース.txt」 ) ;
ストリームオブジェクト。 の上 ( 'データ' 、 ( コンテンツ ) => {
コンソール。 ログ ( コンテンツ。 toString ( ) ) ;
} ) ;
ストリームオブジェクト。 の上 ( '終わり' 、 ( ) => {
コンソール。 ログ ( ' \n ファイルの読み取りが終了しました。 ) ;
} ) ;
ストリームオブジェクト。 パイプ ( プロセス。 標準出力 ) ;
上記のコードの説明は次のとおりです。
- まず、「 fs ” モジュールがインポートされ、そのオブジェクトが “ fsObj ' 変数。
- 次に、「」を使用して、 fsObj 「」は「」を呼び出します createReadStream() 」メソッドを実行し、コンテンツを取得する必要がある対象ファイルのパスを渡します。メソッドの結果を新しい変数に保存します。 ストリームオブジェクト ”。
- 「」を添付してください の上() 」メソッドと「streamObj」を使用すると、「」のときにコールバック関数を呼び出します。 データ 」が検索されます。取得されたデータは、データを文字列形式に変換してコンソールに表示するコールバック関数のパラメーターとして渡されます。
- 再度「」を添付します。 の上() ” を使用したメソッド ストリームオブジェクト ” そして今度は、そのコールバック関数は、ファイルの読み取りが完了すると終了メッセージを表示します。
上記のコードの実行後に生成された出力は、終了メッセージに沿って読み取られたデータがコンソールに表示されたことを示しています。
Node.js での読み取り可能なストリームの使用法については以上です。
結論
Node.js で読み取り可能なストリームを操作するには、「 createReadStream() ” は、” 経由で呼び出されます。 fs ”モジュールオブジェクト。コンテンツを書き込む必要がある対象のファイル パスは、メソッド パラメーターとして渡されます。 「」と合わせて活用できます。 。パイプ() 」メソッドを使用して、コンテンツを別のファイルに書き込むなど、取得したデータに対してさらなるタスクを実行します。この投稿では、読み取り可能なストリームを操作する手順を説明しました。