- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- すべての実装されたインタフェース:
Closeable,AutoCloseable
- 直系の既知のサブクラス:
BufferedInputStream,CheckedInputStream,CipherInputStream,DataInputStream,DeflaterInputStream,DigestInputStream,InflaterInputStream,LineNumberInputStream,ProgressMonitorInputStream,PushbackInputStream
public class FilterInputStream extends InputStream
FilterInputStreamは、データの基本的なソースとして使用するためのその他の入力ストリームを格納します。データを途中で変換することや、追加機能を提供することもあります。FilterInputStreamクラスそのものが、格納されている入力ストリームにすべての要求を渡すバージョンによって、InputStreamのすべてのメソッドを単純にオーバーライドします。FilterInputStreamのサブクラスは、これらのメソッドの一部をさらにオーバーライドすることができ、追加のメソッドやフィールドを提供することもできます。- 導入されたバージョン:
- 1.0
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected InputStreaminフィルタ処理される入力ストリームです。
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedFilterInputStream(InputStream in)あとで使用できるように引数inをフィールドthis.inに割り当てることによってFilterInputStreamを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 intavailable()この入力ストリームのメソッドの次の呼出し側によって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。voidclose()この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。voidmark(int readlimit)この入力ストリームの現在位置にマークを設定します。booleanmarkSupported()この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。intread()この入力ストリームからデータの次のバイトを読み込みます。intread(byte[] b)最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。intread(byte[] b, int off, int len)最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。voidreset()このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。longskip(long n)入力ストリームからnバイトのデータをスキップして破棄します。-
クラス java.io.InputStreamで宣言されたメソッド
readAllBytes, readNBytes, transferTo
-
-
-
-
フィールドの詳細
-
in
protected volatile InputStream in
フィルタ処理される入力ストリームです。
-
-
コンストラクタの詳細
-
FilterInputStream
protected FilterInputStream(InputStream in)
あとで使用できるように引数inをフィールドthis.inに割り当てることによってFilterInputStreamを作成します。- パラメータ:
in- ベースとなる入力ストリーム。このインスタンスがベースとなるストリームなしで生成される場合はnull。
-
-
メソッドの詳細
-
read
public int read() throws IOExceptionこの入力ストリームからデータの次のバイトを読み込みます。 バイト値は、0-255の範囲のintとして返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1が返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。このメソッドは単純に
in.read()を実行し、その結果を返します。- 定義:
read、クラス:InputStream- 戻り値:
- データの次のバイト。ストリームの終わりに達した場合は
-1。 - 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
in
-
read
public int read(byte[] b) throws IOException最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。 このメソッドは、入力の一部が利用できるようになるまでブロックします。このメソッドは単純に
read(b, 0, b.length)の呼出しを実行し、その結果を返します。 代わりにin.read(b)が実行されないようにしてください。FilterInputStreamの特定のサブクラスは、実際に使用されている実装方法に依存します。- オーバーライド:
read、クラス:InputStream- パラメータ:
b- データの読込み先のバッファ。- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は
-1。 - 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
read(byte[], int, int)
-
read
public int read(byte[] b, int off, int len) throws IOException最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。lenが0でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0が返されます。このメソッドは単純に
in.read(b, off, len)を実行し、その結果を返します。- オーバーライド:
read、クラス:InputStream- パラメータ:
b- データの読込み先のバッファ。off- 転送先配列bの開始オフセットlen- 読み込まれる最大バイト数。- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は
-1。 - 例外:
NullPointerException-bがnullである場合。IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、あるいはlenがb.length - offより大きい場合IOException- 入出力エラーが発生した場合。- 関連項目:
in
-
skip
public long skip(long n) throws IOException入力ストリームからnバイトのデータをスキップして破棄します。 さまざまな理由から、skipメソッドは指定よりも少ないバイト数しかスキップしないことがあります。0の場合もあります。 スキップされた実際のバイト数が返されます。このメソッドは単純に
in.skip(n)を実行します。- オーバーライド:
skip、クラス:InputStream- パラメータ:
n- スキップされるバイト数。- 戻り値:
- 実際にスキップされたバイト数。
- 例外:
IOException-in.skip(n)がIOExceptionをスローした場合。
-
available
public int available() throws IOExceptionこの入力ストリームのメソッドの次の呼出し側によって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。 次の呼出し側は、同じスレッドの場合も別のスレッドの場合もあります。 このような多数のバイトを1回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。このメソッドは、
in.available()の結果を返します。- オーバーライド:
available、クラス:InputStream- 戻り値:
- ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数。
- 例外:
IOException- 入出力エラーが発生した場合。
-
close
public void close() throws IOExceptionこの入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。 このメソッドは単純にin.close()を実行します。- 定義:
close、インタフェース:AutoCloseable- 定義:
close、インタフェース:Closeable- オーバーライド:
close、クラス:InputStream- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
in
-
mark
public void mark(int readlimit)
この入力ストリームの現在位置にマークを設定します。 これに続いてresetメソッドを呼び出すと、最後にマークされた位置にこのストリームが再配置されるため、以降の読込みでは同じバイトが再度読み込まれます。引数
readlimitはこの入力ストリームに対して、マーク位置が無効になる前にこの引数が指定するバイト数を読み込むように指示します。このメソッドは単純に
in.mark(readlimit)を実行します。- オーバーライド:
mark、クラス:InputStream- パラメータ:
readlimit- マーク位置が無効になる前に読込み可能なバイト数の上限。- 関連項目:
in,reset()
-
reset
public void reset() throws IOExceptionこのストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。このメソッドは単純に
in.reset()を実行します。ストリームのマークは、ストリームに何が含まれているかをチェックするために、データを少しだけ先読みする必要がある場合に使われます。 これをもっとも容易に実行する方法は、一般的なパーサーを呼び出すことです。 ストリームがパーサーで取り扱えるタイプであれば、これでうまく行きます。 ストリームがこのようなタイプではない場合は、パーサーは失敗した時点で例外を発生させます。 readlimitバイトの範囲内でこれが発生した場合は、外部のコードでストリームをリセットし、別のパーサーを呼び出すことができます。
- オーバーライド:
reset、クラス:InputStream- 例外:
IOException- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合。- 関連項目:
in,mark(int)
-
markSupported
public boolean markSupported()
この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。 このメソッドは単純にin.markSupported()を実行します。- オーバーライド:
markSupported、クラス:InputStream- 戻り値:
- このストリーム・インスタンスが
markおよびresetメソッドをサポートしている場合はtrue、それ以外の場合はfalse。 - 関連項目:
in,InputStream.mark(int),InputStream.reset()
-
-