CDC 1.1.2

java.io
クラス FilterInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.FilterInputStream
直系の既知のサブクラス:
BufferedInputStream, DataInputStream, InflaterInputStream, PushbackInputStream

public class FilterInputStream
extends InputStream

FilterInputStream は、データの基本的なソースとして使用するためのその他の入力ストリームを格納します。データを途中で変換することや、追加機能を提供することもあります。FilterInputStream クラスそのものが、格納されている入力ストリームにすべての要求を渡すバージョンによって、InputStream のすべてのメソッドを単純にオーバーライドします。FilterInputStream のサブクラスは、これらのメソッドの一部をさらにオーバーライドすることができ、追加のメソッドやフィールドを提供することもできます。

導入されたバージョン:
JDK1.0

フィールドの概要
protected  InputStream in
          フィルタ処理される入力ストリームです。
 
コンストラクタの概要
protected FilterInputStream(InputStream in)
          あとで使用できるように引数 inthis.in フィールドに割り当てることによって、FilterInputStream を作成します。
 
メソッドの概要
 int available()
          ブロックせずに入力ストリームから読み込むことができるバイト数を返します。
 void close()
          この入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。
 void mark(int readlimit)
          この入力ストリームの現在位置にマークを設定します。
 boolean markSupported()
          入力ストリームが markreset メソッドをサポートしているかどうかを判定します。
 int read()
          この入力ストリームからデータの次のバイトを読み込みます。
 int read(byte[] b)
          最大 byte.length バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。
 int read(byte[] b, int off, int len)
          最大 len バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。
 void reset()
          このストリームの位置を、入力ストリームで最後に mark メソッドが呼び出されたときのマーク位置に再設定します。
 long skip(long n)
          入力ストリームから n バイト分をスキップおよび破棄します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

in

protected InputStream in
フィルタ処理される入力ストリームです。

コンストラクタの詳細

FilterInputStream

protected FilterInputStream(InputStream in)
あとで使用できるように引数 inthis.in フィールドに割り当てることによって、FilterInputStream を作成します。

パラメータ:
in - 基本となる入力ストリーム。このインスタンスが基本となるストリームなしで生成される場合は null
メソッドの詳細

read

public int read()
         throws IOException
この入力ストリームからデータの次のバイトを読み込みます。値のバイトは、0255 の範囲の int として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、値 -1 が返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。  

このメソッドは単純に in.read() を実行し、その結果を返します。

定義:
クラス InputStream 内の read
戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
in

read

public int read(byte[] b)
         throws IOException
最大 byte.length バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。  

このメソッドは単純に read(b, 0, b.length) の呼び出しを実行し、その結果を返します。代わりに in.read(b) が実行されないようにしてください。FilterInputStream の特定のサブクラスは、実際に使用されている実装方法に依存します。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
戻り値:
バッファーに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[], int, int)

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
最大 len バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。  

このメソッドは単純に in.read(b, off, len) を実行し、その結果を返します。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
off - データの開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファーに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
in

skip

public long skip(long n)
          throws IOException
入力ストリームから n バイト分をスキップおよび破棄します。さまざまな理由から、skip メソッドは指定よりも少ないバイト数しかスキップしないことがあります。0 の場合もあります。スキップされた実際のバイト数が返されます。  

このメソッドは単純に in.skip(n) を実行します。

オーバーライド:
クラス InputStream 内の skip
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合

available

public int available()
              throws IOException
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。  

このメソッドは単純に in.available() を実行し、その結果を返します。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックせずに入力ストリームから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合
関連項目:
in

close

public void close()
           throws IOException
この入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。このメソッドは単純に in.close() を実行します。

オーバーライド:
クラス InputStream 内の close
例外:
IOException - 入出力エラーが発生した場合
関連項目:
in

mark

public void mark(int readlimit)
この入力ストリームの現在位置にマークを設定します。これに続いて reset メソッドを呼び出すと、最後にマークが設定された位置にストリームを再設定するため、次回の読み込み操作では同じバイトから読み込むことになります。  

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

このメソッドは単純に in.mark(readlimit) を実行します。

オーバーライド:
クラス InputStream 内の mark
パラメータ:
readlimit - マーク位置が無効になる前に読み込み可能な最大限度のバイト数
関連項目:
in, reset()

reset

public void reset()
           throws IOException
このストリームの位置を、入力ストリームで最後に mark メソッドが呼び出されたときのマーク位置に再設定します。  

このメソッドは単純に in.reset() を実行します。  

ストリームのマークは、ストリームに何が含まれているかをチェックするために、データを少しだけ先読みする必要がある場合に使われます。これをもっとも容易に実行する方法は、一般的なパーサーを呼び出すことです。ストリームがパーサーで取り扱えるタイプであれば、これでうまく行きます。ストリームがこのようなタイプではない場合は、パーサーは失敗した時点で例外を発生させます。readlimit バイトの範囲内でこれが発生した場合は、外部のコードでストリームをリセットし、別のパーサーを呼び出すことができます。

オーバーライド:
クラス InputStream 内の reset
例外:
IOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合
関連項目:
in, mark(int)

markSupported

public boolean markSupported()
入力ストリームが markreset メソッドをサポートしているかどうかを判定します。このメソッドは単純に in.markSupported() を実行します。

オーバーライド:
クラス InputStream 内の markSupported
戻り値:
ストリームが markreset メソッドをサポートするタイプの場合は true、そうでない場合は false
関連項目:
in, InputStream.mark(int), InputStream.reset()

CDC 1.1.2

Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. Use of this specification is subject to license terms.