全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.io.FilterInputStream

java.lang.Object
   |
   +----java.io.InputStream
           |
           +----java.io.FilterInputStream

public class FilterInputStream
extends InputStream
このクラスは入力ストリームにフィルタをかける全てのクラスに対してのスーパークラスになっています。これらのストリームはすでに存在する入力ストリーム(下層 入力ストリーム)の上位に位置し、さらに付加機能を提供するものです。

FilterInputStream クラス自体は単に InputStream の全てのメソッドをオーバーライドし、これにすべてのリクエストを下層入力ストリームへ通過させるバージョンを追加したものです。 FilterInputStream のサブクラスは、追加されたメソッドとフィールドを提供するほか、さらにこれらのメソッドをオーバーライドすることもあります。


Variable Index

 o in
下層の入力ストリーム。

Constructor Index

 o FilterInputStream(InputStream)
指定された入力ストリームの上層に入力ストリームフィルタを作成する。

Method Index

 o available()
ブロッキングを発生させることなしに入力ストリームから読み込むことのできるバイト数を返す。
 o close()
入力ストリームをクローズして、このストリームと関連していた全てのシステムリソースを解放する。
 o mark(int)
入力ストリームの現在位置にマークを付ける。
 o markSupported()
入力ストリームが markreset メソッドをサポートしているかどうかをテストする。
 o read()
入力ストリームから次のバイトデータを読み込む。
 o read(byte[])
入力ストリームからバイト配列へ最大 byte.length バイトのデータを読み込む。
 o read(byte[], int, int)
入力ストリームからバイト配列へ最大 len バイトのデータを読み込む。
 o reset()
入力ストリームへ最後に mark メソッドが呼び出されたときのマーク位置へこのストリームの位置を再設定する。
 o skip(long)
入力ストリームからのデータに対して n バイトだけスキップしてデータを捨てる。

Variables

 o in
  protected InputStream in
下層の入力ストリーム。

Constructors

 o FilterInputStream
  protected FilterInputStream(InputStream in)
指定された入力ストリームの上層に入力ストリームフィルタを作成します。

パラメータ:
in - 下層の入力ストリーム。

Methods

 o read
 public int read() throws IOException
入力ストリームから次のバイトデータを読み込みます。このバイトの値は 0 から 255 の範囲の int として返されます。もしストリームの終端に達してデータが読み込めない場合は -1 が返されます。このメソッドは入力データが読み込み可能になるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。

FilterInputStreamread メソッドは、下層ストリームの read メソッドを呼び出し、その返り値を返します。

返り値:
次のバイトデータ。もしストリームの終端が検出された場合は -1
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
クラス InputStreamread
参照:
in
 o read
 public int read(byte b[]) throws IOException
入力ストリームからバイト配列に最大 byte.length バイトのデータを読み込みます。 このメソッドは入力データが読み込み可能になるまでブロックします。

FilterInputStreamread メソッドは3引数 read メソッドに引数 b0、そして b.lengthを与えて呼び出し、そのメソッドの返り値を返します。

このメソッドは1引数 read メソッドに1個の引数 b を与えて呼び出すのではないことに注意してください。FilterInputStream のサブクラスが、すでに3引数 read メソッドをオーバーライドしているならば、このメソッドをオーバーライドする必要はありません。

パラメータ:
b - データが読み込まれるバッファ。
返り値:
バッファに読み込まれたバイト数。もしストリームの終端に達して読み込むデータがない場合は-1
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
InputStream クラスの read
参照:
read
 o read
 public int read(byte b[],
                 int off,
                 int len) throws IOException
入力ストリームからバイト配列に最大 len バイトのデータを読み込みます。 このメソッドは入力データが読み込み可能になるまでブロックします。

FilterInputStreamread メソッドは、同じ引数の組を与えて下層入力ストリームの read メソッドを呼び出し、その返り値を返します。

パラメータ:
b - データが読み込まれるバッファ。
off - データの開始位置を示すオフセット。
len - 読み込むバイトの最大値。
返り値:
バッファに読み込まれたバイト数。もしストリームの終端に達して読み込むデータがない場合は-1
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
InputStream クラスの read
参照:
in
 o skip
 public long skip(long n) throws IOException
入力ストリームからのデータに対して n バイトだけスキップしてデータを捨てます。 種々の理由により skip メソッドが指定よりも少ない(0 のこともあり)バイト数しかスキップしないことがあります。実際にスキップしたバイト数を返します。

FilterInputStreamskip メソッドは、同じ引数の組を与えて下層入力ストリームの skip メソッドを呼び出し、その返り値を返します。

パラメータ:
n - スキップするバイト数。
返り値:
実際にスキップされたバイト数。
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
InputStream クラスの skip
 o available
 public int available() throws IOException
ブロッキングを発生させることなしに入力ストリームから読み込むことのできるバイト数を返します。

FilterInputStreamavailable メソッドは、下層入力ストリームの available メソッドを呼び出し、その返り値を返します。

返り値:
ブロッキングを発生させることなしに入力ストリームから読み込むことのできるバイト数。
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
InputStream クラスの available
参照:
in
 o close
 public void close() throws IOException
入力ストリームをクローズして、このストリームと関連していた全てのシステムリソースを解放します。 FilterInputStreamclose メソッドは下層入力ストリームの close メソッドを呼び出します。

例外: IOException
I/O エラーが発生した場合。
オーバーライド:
InputStream クラスの close
参照:
in
 o mark
  public synchronized void mark(int readlimit)
入力ストリームの現在位置にマークを付けます。 これに続いて reset メソッドを呼び出すとストリームに最後に付けられたマーク位置にストリームを再設定しますから、この後に行う読み込み操作では同じバイトを再読することになります。

引数 readlimit はこの入力ストリームに対して、マーク位置が無効になる前にこの引数が指定するバイト数を読み込むように指示します。

FilterInputStreammark メソッドは、readlimit を引数として与えて下層入力ストリームの mark メソッドを呼び出します。

パラメータ:
readlimit - マーク位置が無効になる前に読み込み可能な最大バイト数。
オーバーライド:
InputStream クラスの mark
参照:
in, reset
 o reset
 public synchronized void reset() throws IOException
入力ストリームへ最後に mark メソッドが呼び出されたときのマーク位置へこのストリームの位置を再設定します。

FilterInputStreamreset メソッドは、下層入力ストリームの reset を呼び出します。

ストリームのマークは、ストリームに何が含まれているかをチェックするために少しデータを前読みするために使われます。これを最も容易に実行する方法は一般的なパーザを動かすことです。 ストリームがパーザで取り扱えるタイプならば、これですべてうまく行きます。 ストリームがこのようなタイプではない場合は、パーザが失敗した場所で例外を発生します。もし readlimit バイトの範囲内でこれが発生した場合は、例外を検知した外部コードがストリームをリセットして、別なパーザで再トライすることができます。

例外: IOException
ストリームにマークが付けられていなかった場合、またはマークが無効になっていた場合。
オーバーライド:
InputStream クラスの reset
参照:
in, mark
 o markSupported
  public boolean markSupported()
入力ストリームが markreset メソッドをサポートしているかどうかをテストします。 FilterInputStreammarkSupported メソッドは、下層入力ストリームの markSupported メソッドを呼び出し、その返り値を返します。

返り値:
ストリームが markreset メソッドをサポートするタイプであれば true、それ以外であれば false
オーバーライド:
InputStream クラスの markSupported
参照:
in, mark, reset

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス