CDC 1.1.2

java.io
クラス PipedInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.PipedInputStream

public class PipedInputStream
extends InputStream

パイプで連結された入力ストリームは、パイプで連結された出力ストリームに接続するようにします。これによって、パイプで連結された入力ストリームが提供するデータバイトは、パイプで連結された出力ストリームにすべて書き込まれます。通常、データは 1 つのスレッドによって PipedInputStream オブジェクトから読み込まれ、対応する PipedOutputStream に別のスレッドによって書き込まれます。単一のスレッドから両方のオブジェクトを使用することは、スレッドがデッドロックする可能性があるため推奨されていません。パイプで連結された入力ストリームには一定範囲のバッファーが含まれるため、読み込み操作と書き込み操作は分離されます。

導入されたバージョン:
JDK1.0
関連項目:
PipedOutputStream

フィールドの概要
protected  byte[] buffer
          入ってくるデータを置く循環バッファーです。
protected  int in
          データの次のバイトをパイプで連結された接続済みの出力ストリームから受け取ったときに、その次のバイトを格納する循環バッファーのインデックス位置です。
protected  int out
          パイプで連結されたこの入力ストリームがデータの次のバイトを読み込む、循環バッファーのインデックス位置です。
protected static int PIPE_SIZE
          パイプの循環入力バッファーのサイズです。
 
コンストラクタの概要
PipedInputStream()
          PipedInputStream を、まだ接続されていない状態で作成します。
PipedInputStream(PipedOutputStream src)
          PipedInputStream を作成し、パイプで連結された出力ストリーム src に接続します。
 
メソッドの概要
 int available()
          ブロックせずに入力ストリームから読み込むことができるバイト数を返します。
 void close()
          パイプによる入力ストリームを閉じ、そのストリームに関連するすべてのシステムリソースを解放します。
 void connect(PipedOutputStream src)
          パイプで連結された入力ストリームをパイプで連結された出力ストリーム src に接続します。
 int read()
          パイプで連結された入力ストリームからデータの次のバイトを読み込みます。
 int read(byte[] b, int off, int len)
          最大 len バイトまでのデータを、このパイプで連結された入力ストリームからバイト配列に読み込みます。
protected  void receive(int b)
          データのバイトを受け取ります。
 
クラス java.io.InputStream から継承されたメソッド
mark, markSupported, read, reset, skip
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PIPE_SIZE

protected static final int PIPE_SIZE
パイプの循環入力バッファーのサイズです。

導入されたバージョン:
JDK1.1
関連項目:
定数フィールド値

buffer

protected byte[] buffer
入ってくるデータを置く循環バッファーです。

導入されたバージョン:
JDK1.1

in

protected int in
データの次のバイトをパイプで連結された接続済みの出力ストリームから受け取ったときに、その次のバイトを格納する循環バッファーのインデックス位置です。in<0 はバッファーが空であることを示し、in==out はバッファーがいっぱいであることを示します。

導入されたバージョン:
JDK1.1

out

protected int out
パイプで連結されたこの入力ストリームがデータの次のバイトを読み込む、循環バッファーのインデックス位置です。

導入されたバージョン:
JDK1.1
コンストラクタの詳細

PipedInputStream

public PipedInputStream(PipedOutputStream src)
                 throws IOException
PipedInputStream を作成し、パイプで連結された出力ストリーム src に接続します。src に書き込まれたデータバイトは、このストリームからの入力として使えるようになります。

パラメータ:
src - 接続先のストリーム
例外:
IOException - 入出力エラーが発生した場合

PipedInputStream

public PipedInputStream()
PipedInputStream を、まだ接続されていない状態で作成します。これを使うには、PipedOutputStream に接続する必要があります。

関連項目:
connect(java.io.PipedOutputStream), PipedOutputStream.connect(java.io.PipedInputStream)
メソッドの詳細

connect

public void connect(PipedOutputStream src)
             throws IOException
パイプで連結された入力ストリームをパイプで連結された出力ストリーム src に接続します。このオブジェクトが別のパイプで連結された出力ストリームに接続されている場合は、IOException がスローされます。  

src がパイプによる未接続の出力ストリームで、snk がパイプによる未接続の入力ストリームである場合、2 つのストリームは次の呼び出しのどちらかによって接続されます。

snk.connect(src) 

または

src.connect(snk) 

2 つの呼び出しは同じ効果を持ちます。

パラメータ:
src - パイプによる接続先の出力ストリーム
例外:
IOException - 入出力エラーが発生した場合

receive

protected void receive(int b)
                throws IOException
データのバイトを受け取ります。このメソッドは、有効な入力がない場合はブロックします。

パラメータ:
b - 受け取るバイト
例外:
IOException - パイプが壊れている場合
導入されたバージョン:
JDK1.1

read

public int read()
         throws IOException
パイプで連結された入力ストリームからデータの次のバイトを読み込みます。値のバイトは、0255 の範囲の int として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、値 -1 が返されます。入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。接続されているパイプで連結された出力ストリームにスレッドがデータバイトを提供していたときに、そのスレッドが無効になった場合は、IOException がスローされます。

定義:
クラス InputStream 内の read
戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - パイプが壊れている場合

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
最大 len バイトまでのデータを、このパイプで連結された入力ストリームからバイト配列に読み込みます。データストリームの終わりに達した場合は、len バイトより少ないデータしか読み込まれません。このメソッドは、少なくとも 1 バイトの入力を利用できるまでブロックされます。接続されているパイプで連結された出力ストリームにスレッドがデータバイトを提供していたときに、そのスレッドが無効になった場合は、IOException がスローされます。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
off - データの開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファーに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
InputStream.read()

available

public int available()
              throws IOException
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。このメソッドは、親クラスの available メソッドをオーバーライドします。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックしないで入力ストリームから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JDK1.0.2

close

public void close()
           throws IOException
パイプによる入力ストリームを閉じ、そのストリームに関連するすべてのシステムリソースを解放します。

オーバーライド:
クラス InputStream 内の close
例外:
IOException - 入出力エラーが発生した場合

CDC 1.1.2

Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. Use of this specification is subject to license terms.