|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.io.InputStream java.io.PipedInputStream
public class PipedInputStream
パイプで連結された入力ストリームは、パイプで連結された出力ストリームに接続するようにします。これによって、パイプで連結された入力ストリームが提供するデータバイトは、パイプで連結された出力ストリームにすべて書き込まれます。通常、データは 1 つのスレッドによって PipedInputStream
オブジェクトから読み込まれ、対応する PipedOutputStream
に別のスレッドによって書き込まれます。単一のスレッドから両方のオブジェクトを使用することは、スレッドがデッドロックする可能性があるため推奨されていません。パイプで連結された入力ストリームには一定範囲のバッファーが含まれるため、読み込み操作と書き込み操作は分離されます。パイプで連結された出力ストリームにデータバイトを提供していたスレッドが無効になった場合は、パイプが「壊れている」と言います。
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 |
フィールドの詳細 |
---|
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(PipedOutputStream src, int pipeSize) throws IOException
PipedInputStream
を作成し、パイプで連結された出力ストリーム src
に接続します。その際、指定されたパイプサイズをパイプのバッファーに使用します。src
に書き込まれたデータバイトは、このストリームからの入力として使えるようになります。
src
- 接続先のストリームpipeSize
- パイプのバッファーのサイズ
IOException
- 入出力エラーが発生した場合
IllegalArgumentException
- pipeSize <= 0
の場合public PipedInputStream()
PipedInputStream
を作成します。使用前に、PipedOutputStream
に対して connected の状態にする必要があります。
public PipedInputStream(int pipeSize)
PipedInputStream
を作成します。その際、指定されたパイプサイズをパイプのバッファーに使用します。使用前に、PipedOutputStream
に対して connected の状態にする必要があります。
pipeSize
- パイプのバッファーのサイズ
IllegalArgumentException
- pipeSize <= 0
の場合メソッドの詳細 |
---|
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
- パイプが壊れている
場合、unconnected
の状態である場合、閉じられている場合、または入出力エラーが発生した場合public int read() throws IOException
0
〜 255
の範囲の int
として返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。
InputStream
内の read
-1
IOException
- パイプが unconnected
の状態である場合、壊れている
場合、閉じられている場合、または入出力エラーが発生した場合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
- b
が null
の場合
IndexOutOfBoundsException
- off
が負の場合、len
が負の場合、または len
が b.length - off
よりも大きい場合
IOException
- パイプが壊れている
場合、unconnected
の状態である場合、閉じられている場合、または入出力エラーが発生した場合InputStream.read()
public int available() throws IOException
InputStream
内の available
close()
メソッドの呼び出しによって閉じられた場合、パイプが unconnected
の状態である場合、または壊れている
場合は 0
IOException
- 入出力エラーが発生した場合public void close() throws IOException
Closeable
内の close
InputStream
内の close
IOException
- 入出力エラーが発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。