JavaTM Platform
Standard Ed. 6

java.io
クラス PipedInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.PipedInputStream
すべての実装されたインタフェース:
Closeable

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()
          まだ connected ではない状態で PipedInputStream を作成します。
PipedInputStream(int pipeSize)
          まだ connected ではない状態で PipedInputStream を作成します。
PipedInputStream(PipedOutputStream src)
          PipedInputStream を作成し、パイプで連結された出力ストリーム src に接続します。
PipedInputStream(PipedOutputStream src, int pipeSize)
          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(PipedOutputStream src,
                        int pipeSize)
                 throws IOException
PipedInputStream を作成し、パイプで連結された出力ストリーム src に接続します。その際、指定されたパイプサイズをパイプのバッファーに使用します。src に書き込まれたデータバイトは、このストリームからの入力として使えるようになります。

パラメータ:
src - 接続先のストリーム
pipeSize - パイプのバッファーのサイズ
例外:
IOException - 入出力エラーが発生した場合
IllegalArgumentException - pipeSize <= 0 の場合
導入されたバージョン:
1.6

PipedInputStream

public PipedInputStream()
まだ connected ではない状態で PipedInputStream を作成します。使用前に、PipedOutputStream に対して connected の状態にする必要があります。


PipedInputStream

public PipedInputStream(int pipeSize)
まだ connected ではない状態で PipedInputStream を作成します。その際、指定されたパイプサイズをパイプのバッファーに使用します。使用前に、PipedOutputStream に対して connected の状態にする必要があります。

パラメータ:
pipeSize - パイプのバッファーのサイズ
例外:
IllegalArgumentException - pipeSize <= 0 の場合
導入されたバージョン:
1.6
メソッドの詳細

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 - パイプが壊れている場合、unconnected の状態である場合、閉じられている場合、または入出力エラーが発生した場合
導入されたバージョン:
JDK1.1

read

public int read()
         throws IOException
パイプで連結された入力ストリームからデータの次のバイトを読み込みます。値のバイトは、0255 の範囲の int として返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックします。

定義:
クラス InputStream 内の read
戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - パイプが unconnected の状態である場合、壊れている場合、閉じられている場合、または入出力エラーが発生した場合

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
最大 len バイトまでのデータを、このパイプで連結された入力ストリームからバイト配列に読み込みます。データストリームの終わりに達した場合、または len バイトがパイプのバッファーサイズを超えている場合、len バイトより少ないデータが読み込まれます。len が 0 の場合、読み込まれるバイトはなく、0 が返されます。そうでない場合、少なくとも 1 バイトの入力が利用できるようになるか、ストリームの終わりに達するか、例外がスローされるまでメソッドはブロックします。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
off - 転送先の配列 b 内での開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファーに読み込まれたバイトの合計数。ストリームの終わりに達したためにそれ以上データがない場合は -1
例外:
NullPointerException - bnull の場合
IndexOutOfBoundsException - off が負の場合、len が負の場合、または lenb.length - off よりも大きい場合
IOException - パイプが壊れている場合、unconnected の状態である場合、閉じられている場合、または入出力エラーが発生した場合
関連項目:
InputStream.read()

available

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

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックせずにこの入力ストリームから読み込むことができるバイト数。この入力ストリームが close() メソッドの呼び出しによって閉じられた場合、パイプが unconnected の状態である場合、または壊れている場合は 0
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
JDK1.0.2

close

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

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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。