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