Nodejs-streams
Node.js-ストリーム
ストリームとは何ですか?
ストリームは、ソースからデータを読み取ったり、宛先にデータを連続的に書き込んだりできるオブジェクトです。 Node.jsでは、4種類のストリームがあります-
- Readable -読み取り操作に使用されるストリーム。
- Writable -書き込み操作に使用されるストリーム。
- Duplex -読み取りと書き込みの両方の操作に使用できるストリーム。
- Transform -出力が入力に基づいて計算されるデュプレックスストリームのタイプ。
Streamの各タイプは EventEmitter インスタンスであり、異なるインスタンスで複数のイベントをスローします。 たとえば、一般的に使用されるイベントのいくつかは-
- data -読み取り可能なデータがある場合にこのイベントが発生します。
- 終了-このイベントは、読み取るデータがなくなると発生します。
- エラー-このイベントは、データの受信または書き込みでエラーが発生したときに発生します。
- finish -すべてのデータが基になるシステムにフラッシュされると、このイベントが発生します。
このチュートリアルは、Streamsで一般的に使用される操作の基本的な理解を提供します。
ストリームからの読み取り
次の内容を持つinput.txtという名前のテキストファイルを作成します-
次のコードでmain.jsという名前のjsファイルを作成します-
次に、main.jsを実行して結果を確認します-
出力を確認します。
ストリームへの書き込み
次のコードでmain.jsという名前のjsファイルを作成します-
次に、main.jsを実行して結果を確認します-
出力を確認します。
現在のディレクトリに作成されたoutput.txtを開きます。それは次を含む必要があります-
ストリームのパイピング
パイピングは、あるストリームの出力を別のストリームへの入力として提供するメカニズムです。 通常、あるストリームからデータを取得し、そのストリームの出力を別のストリームに渡すために使用されます。 配管操作に制限はありません。 次に、あるファイルから読み取り、別のファイルに書き込むためのパイピングの例を示します。
次のコードでmain.jsという名前のjsファイルを作成します-
次に、main.jsを実行して結果を確認します-
出力を確認します。
現在のディレクトリに作成されたoutput.txtを開きます。それは次を含む必要があります-
ストリームの連鎖
チェーンは、1つのストリームの出力を別のストリームに接続し、複数のストリーム操作のチェーンを作成するメカニズムです。 通常、配管操作で使用されます。 次に、パイピングとチェーンを使用して、最初にファイルを圧縮し、次に同じファイルを解凍します。
次のコードでmain.jsという名前のjsファイルを作成します-
次に、main.jsを実行して結果を確認します-
出力を確認します。
input.txtが圧縮され、現在のディレクトリにinput.txt.gzファイルが作成されていることがわかります。 今、次のコードを使用して同じファイルを解凍してみましょう-
次に、main.jsを実行して結果を確認します-
出力を確認します。