public class SequenceInputStream extends InputStream
SequenceInputStream
は、ほかの入力ストリームを論理的に連結したものを表します。このメソッドは、入力ストリームを集めて順序を付けたコレクションから、始めにその最初のストリームをファイルの終わりまで読み込み、次に2番目に移ります。これを繰り返して、最後の入力ストリームでファイルの終わりに達するまで順次読み込みます。コンストラクタと説明 |
---|
SequenceInputStream(Enumeration<? extends InputStream> e)
引数を記憶しておくことにより、新しく作成された
SequenceInputStream を初期化します。この引数は、実行時の型がInputStream であるオブジェクトを生成するEnumeration である必要があります。 |
SequenceInputStream(InputStream s1, InputStream s2)
2つの引数を記憶しておくことにより、新しく作成された
SequenceInputStream を初期化します。2つの引数は、s1 、s2 の順番で読み込まれ、それにより、このSequenceInputStream から読み込まれるバイトが提供されます。 |
修飾子と型 | メソッドと説明 |
---|---|
int |
available()
現在のベースとなる入力ストリームに対するメソッドの次の呼出しによって、ブロックせずに現在のベースとなる入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。
|
void |
close()
この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
|
int |
read()
この入力ストリームからデータの次のバイトを読み込みます。
|
int |
read(byte[] b, int off, int len)
最大
len バイトのデータを、この入力ストリームからバイト配列に読み込みます。 |
mark, markSupported, read, reset, skip
public SequenceInputStream(Enumeration<? extends InputStream> e)
SequenceInputStream
を初期化します。この引数は、実行時の型がInputStream
であるオブジェクトを生成するEnumeration
である必要があります。このSequenceInputStream
から読み込まれるバイトを提供するために、列挙によって作成された入力ストリームが順番に読み込まれます。列挙からの各入力ストリームの読込みが終わると、それぞれclose
メソッドの呼出しにより閉じられます。e
- 入力ストリームの列挙。Enumeration
public SequenceInputStream(InputStream s1, InputStream s2)
SequenceInputStream
を初期化します。2つの引数は、s1
、s2
の順番で読み込まれ、それにより、このSequenceInputStream
から読み込まれるバイトが提供されます。s1
- 読み込む最初の入力ストリーム。s2
- 読み込む2番目の入力ストリーム。public int available() throws IOException
このメソッドは、現在のベースとなる入力ストリームのavailable
を単純に呼び出し、結果を返します。
available
、クラス: InputStream
close()
メソッドの呼出しによって閉じられた場合は0
IOException
- 入出力エラーが発生した場合。public int read() throws IOException
0
から255
の範囲のint
として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、-1
が返されます。入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。
このメソッドは、現在のサブストリームから1文字を読み込もうとします。そのストリームの終わりに達すると、現在のサブストリームのclose
メソッドを呼び出し、次のサブストリームからの読込みを開始します。
read
、クラス: InputStream
-1
。IOException
- 入出力エラーが発生した場合。public int read(byte[] b, int off, int len) throws IOException
len
バイトのデータを、この入力ストリームからバイト配列に読み込みます。len
が0でない場合、このメソッドは入力の少なくとも1バイトが利用できるようになるまでブロックします。それ以外の場合、バイトは読み込まれず、0
が返されます。
SequenceInputStream
のread
メソッドは、現在のサブストリームからデータを読み込もうとします。サブストリームがストリームの終わりに達したために文字の読込みに失敗すると、現在のサブストリームのclose
メソッドを呼び出し、次のサブストリームからの読込みを開始します。
read
、クラス: InputStream
b
- データの読込み先のバッファ。off
- データが書き込まれる配列b
の開始オフセット。len
- 読み込まれる最大バイト数。NullPointerException
- b
がnull
である場合。IndexOutOfBoundsException
- off
が負の値の場合、len
が負の値の場合、あるいはlen
がb.length - off
より大きい場合IOException
- 入出力エラーが発生した場合。InputStream.read()
public void close() throws IOException
SequenceInputStream
は入力処理を実行できません。また、開き直すこともできません。
このストリームが列挙から作成された場合、close
メソッドが復帰する前に、残りのすべての要素が列挙から要求されて閉じられます。
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: InputStream
IOException
- 入出力エラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.