|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.io.InputStream | +--java.io.PipedInputStream
パイプで連結された入力ストリームは、パイプで連結された出力ストリームに接続されます。つまり、パイプで連結された入力ストリームは、パイプで連結された出力ストリームに書き込まれるデータバイトを提供します。一般に、PipedInputStream
オブジェクトからデータを読み込むスレッドと、対応する PipedOutputStream
オブジェクトにデータを書き込むスレッドは別々です。単一のスレッドからこれらの 2 つのオブジェクトを使うことは、そのスレッドをデッドロックさせる危険があるため、推奨できません。パイプで連結された入力ストリームは一定の範囲内でバッファを保持し、これにより書き込み処理と読み込み処理は分離されます。
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 |
フィールドの詳細 |
protected static final int PIPE_SIZE
protected byte[] buffer
protected int in
in<0
はバッファが空であることを示し、in==out
はバッファがいっぱいであることを示します。protected int out
コンストラクタの詳細 |
public PipedInputStream(PipedOutputStream src) throws IOException
PipedInputStream
を、パイプで連結された出力ストリーム src
に接続されるように作成します。src
に書き込まれるデータバイトは、このストリームからの入力として使用できます。src
- 接続先のストリームIOException
- 入出力エラーが発生した場合public PipedInputStream()
PipedInputStream
を、まだ接続されていない状態で作成します。これを使うには、PipedOutputStream
に接続する必要があります。connect(java.io.PipedOutputStream)
,
PipedOutputStream.connect(java.io.PipedInputStream)
メソッドの詳細 |
public void connect(PipedOutputStream src) throws IOException
src
に接続させます。このオブジェクトがパイプによるほかの出力ストリームにすでに接続されている場合は、IOException
がスローされます。
src
がパイプによる未接続の出力ストリームで、snk
がパイプによる未接続の入力ストリームである場合、2 つのストリームは以下の呼び出しのどちらかによって接続されます。
snk.connect(src)
または
src.connect(snk)
2 つの呼び出しは同じ効果を持ちます。
src
- パイプによる接続先の出力ストリームIOException
- 入出力エラーが発生した場合protected void receive(int b) throws IOException
b
- 受け取るバイトIOException
- パイプが壊れている場合public int read() throws IOException
0
〜 255
までの範囲で int
として返されます。ストリームの終わりに達してバイトがない場合は、値 -1
が返されます。このメソッドは、入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。スレッドがデータバイトを接続済みのパイプ出力ストリームに提供していたが、そのスレッドがもう生存していない場合は、IOException
がスローされます。InputStream
内の read
-1
IOException
- パイプが壊れている場合public int read(byte[] b, int off, int len) throws IOException
len
バイトまでのデータをバイトの配列に読み込みます。データストリームの終わりに達した場合は、len
バイトより少ないデータしか読み込まれません。このメソッドは、少なくとも 1 バイトが使用できるようになるまでブロックします。スレッドがデータバイトを接続済みのパイプ出力ストリームに提供していたが、そのスレッドがもう生存していない場合は、IOException
がスローされます。InputStream
内の read
b
- データの読み込み先のバッファoff
- データの開始オフセットlen
- 読み込まれる最大バイト数-1
IOException
- 入出力エラーが発生した場合public int available() throws IOException
available
メソッドをオーバーライドします。InputStream
内の available
IOException
- 入出力エラーが発生した場合public void close() throws IOException
InputStream
内の close
IOException
- 入出力エラーが発生した場合
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.