Java-nio-pipe
提供:Dev Guides
Java NIO-パイプ
Java NIOでは、パイプは2つのスレッド間でデータを読み書きするために使用されるコンポーネントです。パイプは、主にデータ伝播を担当する2つのチャネルで構成されます。
2つの構成チャネルのうち、1つは主にデータを書き込むためのシンクチャネルと呼ばれ、もう1つはシンクチャネルからデータを読み取ることを主な目的とするソースチャネルです。
データの書き込みおよび読み取り中は、データがパイプに書き込まれるのと同じ順序でデータを読み取る必要があるため、データの同期は順序どおりに保持されます。
パイプ内のデータの単方向フローであることに注意する必要があります。つまり、データはシンクチャネルのみに書き込まれ、ソースチャネルからのみ読み取ることができます。
Javaでは、NIOパイプは主に3つのメソッドを持つ抽象クラスとして定義され、そのうち2つは抽象です。
Pipeクラスのメソッド
- * open()*-このメソッドはPipeのインスタンスを取得するために使用されるか、このメソッドを呼び出すことでパイプが作成されたと言うことができます。
- * sink()*-このメソッドは、書き込みメソッドを呼び出すことでデータを書き込むために使用されるパイプのシンクチャネルを返します。
- * source()*-このメソッドは、そのreadメソッドを呼び出すことでデータを読み取るために使用されるPipeのソースチャネルを返します。
例
次の例は、Java NIOパイプの実装を示しています。
出力
テキストファイル* c:/test.txt*があり、次の内容があるとします。 このファイルは、サンプルプログラムの入力として使用されます。