- java.lang.Object
-
- java.io.InputStream
-
- java.io.SequenceInputStream
-
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
public class SequenceInputStream extends InputStream
SequenceInputStream
は、ほかの入力ストリームを論理的に連結したものを表します。 このメソッドは、入力ストリームを集めて順序を付けたコレクションから、始めにその最初のストリームをファイルの終わりまで読み込み、次に2番目に移ります。これを繰り返して、最後の入力ストリームでファイルの終わりに達するまで順次読み込みます。- 導入されたバージョン:
- 1.0
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SequenceInputStream(InputStream s1, InputStream s2)
2つの引数を記憶しておくことにより、新しく作成されたSequenceInputStream
を初期化します。2つの引数は、s1
、s2
の順番で読み込まれ、それにより、このSequenceInputStream
から読み込まれるバイトが提供されます。SequenceInputStream(Enumeration<? extends InputStream> e)
引数を記憶しておくことにより、新しく作成されたSequenceInputStream
を初期化します。この引数は、実行時の型がInputStream
であるオブジェクトを生成するEnumeration
である必要があります。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 int
available()
現在のベースとなる入力ストリームに対するメソッドの次の呼出しによって、ブロックせずに現在のベースとなる入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。void
close()
この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。int
read()
この入力ストリームからデータの次のバイトを読み込みます。int
read(byte[] b, int off, int len)
最大len
バイトのデータを、この入力ストリームからバイト配列に読み込みます。-
クラス java.io.InputStreamから継承されたメソッド
mark, markSupported, read, readAllBytes, readNBytes, reset, skip, transferTo
-
-
-
-
コンストラクタの詳細
-
SequenceInputStream
public SequenceInputStream(Enumeration<? extends InputStream> e)
引数を記憶しておくことにより、新しく作成されたSequenceInputStream
を初期化します。この引数は、実行時の型がInputStream
であるオブジェクトを生成するEnumeration
である必要があります。 このSequenceInputStream
から読み込まれるバイトを提供するために、列挙によって作成された入力ストリームが順番に読み込まれます。 列挙からの各入力ストリームの読込みが終わると、それぞれclose
メソッドの呼出しにより閉じられます。- パラメータ:
e
- 入力ストリームの列挙。- 関連項目:
Enumeration
-
SequenceInputStream
public SequenceInputStream(InputStream s1, InputStream s2)
2つの引数を記憶しておくことにより、新しく作成されたSequenceInputStream
を初期化します。2つの引数は、s1
、s2
の順番で読み込まれ、それにより、このSequenceInputStream
から読み込まれるバイトが提供されます。- パラメータ:
s1
- 読み込む最初の入力ストリーム。s2
- 読み込む2番目の入力ストリーム。
-
-
メソッドの詳細
-
available
public int available() throws IOException
現在のベースとなる入力ストリームに対するメソッドの次の呼出しによって、ブロックせずに現在のベースとなる入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。 次の呼出しは、同じスレッドの場合も別のスレッドの場合もあります。 このような多数のバイトを1回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。このメソッドは、現在のベースとなる入力ストリームの
available
を単純に呼び出し、結果を返します。- オーバーライド:
available
、クラス:InputStream
- 戻り値:
- ブロックせずに現在のベースとなる入力ストリームから読み込むことができる(またはスキップできる)推定バイト数、またはこの入力ストリームが
close()
メソッドの呼出しによって閉じられた場合は0
- 例外:
IOException
- 入出力エラーが発生した場合。- 導入されたバージョン:
- 1.1
-
read
public int read() throws IOException
この入力ストリームからデータの次のバイトを読み込みます。 バイトは、0
から255
の範囲のint
として返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1
が返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。このメソッドは、現在のサブストリームから1文字を読み込もうとします。 そのストリームの終わりに達すると、現在のサブストリームの
close
メソッドを呼び出し、次のサブストリームからの読込みを開始します。- 定義:
read
、クラス:InputStream
- 戻り値:
- データの次のバイト。ストリームの終わりに達した場合は
-1
。 - 例外:
IOException
- 入出力エラーが発生した場合。
-
read
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()
-
close
public void close() throws IOException
この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。 閉じられたSequenceInputStream
は入力処理を実行できません。また、開き直すこともできません。このストリームが列挙から作成された場合、
close
メソッドが復帰する前に、残りのすべての要素が列挙から要求されて閉じられます。- 定義:
close
、インタフェース:AutoCloseable
- 定義:
close
、インタフェース:Closeable
- オーバーライド:
close
、クラス:InputStream
- 例外:
IOException
- 入出力エラーが発生した場合。
-
-