java.lang.Object
java.io.OutputStream
java.io.PipedOutputStream
- すべての実装されたインタフェース:
Closeable
,Flushable
,AutoCloseable
public class PipedOutputStream extends OutputStream
パイプで連結された出力ストリームをパイプで連結された入力ストリームに接続することで、通信パイプを作成することができます。 パイプで連結された出力ストリームは、パイプの送信側です。 通常、データは1つのスレッドによって
PipedOutputStream
オブジェクトに書き込まれ、接続されたPipedInputStream
から別のスレッドによって読み込まれます。 単一のスレッドから両方のオブジェクトを使用することは、スレッドがデッドロックする可能性があるため推奨されていません。 パイプで連結された入力ストリームからデータ・バイトを読み込んでいたスレッドが無効になった場合は、パイプが「壊れている」と言います。 - 導入されたバージョン:
- 1.0
- 関連項目:
PipedInputStream
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 PipedOutputStream()
パイプで連結された入力ストリームにまだ接続されていない状態で、パイプで連結された出力ストリームを作成します。PipedOutputStream(PipedInputStream snk)
パイプで連結された出力ストリームを作成し、指定されたパイプで連結された入力ストリームに接続します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 void
close()
パイプで連結された出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。void
connect(PipedInputStream snk)
パイプで連結された出力ストリームを受信側に接続します。void
flush()
出力ストリームをフラッシュして、バッファリングされていたすべての出力バイトを強制的に書き込みます。void
write(byte[] b, int off, int len)
指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのパイプで連結された出力ストリームに書き込みます。void
write(int b)
指定されたbyte
を、パイプで連結された出力ストリームに書き込みます。クラス java.io.OutputStreamで宣言されたメソッド
nullOutputStream, write
-
コンストラクタの詳細
-
PipedOutputStream
public PipedOutputStream(PipedInputStream snk) throws IOExceptionパイプで連結された出力ストリームを作成し、指定されたパイプで連結された入力ストリームに接続します。 このストリームに書き込まれたデータ・バイトは、snk
からの入力として使えるようになります。- パラメータ:
snk
- パイプによる接続先の入力ストリーム。- 例外:
IOException
- 入出力エラーが発生した場合。
-
PipedOutputStream
public PipedOutputStream()パイプで連結された入力ストリームにまだ接続されていない状態で、パイプで連結された出力ストリームを作成します。 使用前に、受信側と送信側のいずれかで、パイプで連結された入力ストリームに接続する必要があります。
-
-
メソッドの詳細
-
connect
public void connect(PipedInputStream snk) throws IOExceptionパイプで連結された出力ストリームを受信側に接続します。 このオブジェクトが別のパイプで連結された入力ストリームにすでに接続されている場合は、IOException
がスローされます。snk
がパイプによる未接続の入力ストリームで、src
がパイプによる未接続の出力ストリームである場合、2つのストリームは以下の呼出しのどちらかによって接続されます。
またはsrc.connect(snk)
2つの呼出しは同じ効果を持ちます。snk.connect(src)
- パラメータ:
snk
- パイプによる接続先の入力ストリーム。- 例外:
IOException
- 入出力エラーが発生した場合。
-
write
public void write(int b) throws IOException指定されたbyte
を、パイプで連結された出力ストリームに書き込みます。OutputStream
のwrite
メソッドを実装します。- 定義:
write
、クラス:OutputStream
- パラメータ:
b
- 書き込まれるbyte
。- 例外:
IOException
- パイプが壊れている場合、unconnected
の状態である場合、閉じられている場合、または入出力エラーが発生した場合。
-
write
public void write(byte[] b, int off, int len) throws IOException指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのパイプで連結された出力ストリームに書き込みます。 このメソッドは、出力ストリームにすべてのバイトが書き込まれるまでブロックします。- オーバーライド:
write
、クラス:OutputStream
- パラメータ:
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。- 例外:
IOException
- パイプが壊れている場合、unconnected
の状態である場合、閉じられている場合、または入出力エラーが発生した場合。
-
flush
public void flush() throws IOException出力ストリームをフラッシュして、バッファリングされていたすべての出力バイトを強制的に書き込みます。 バイトがパイプ内で待機中であることをリーダーに通知します。- 定義:
flush
、インタフェース:Flushable
- オーバーライド:
flush
、クラス:OutputStream
- 例外:
IOException
- 入出力エラーが発生した場合。
-
close
public void close() throws IOExceptionパイプで連結された出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。 以降、このストリームをバイトの書込みに使用することはできません。- 定義:
close
、インタフェース:AutoCloseable
- 定義:
close
、インタフェース:Closeable
- オーバーライド:
close
、クラス:OutputStream
- 例外:
IOException
- 入出力エラーが発生した場合。
-