Java プラットフォーム 1.2

java.io
クラス FilterInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.FilterInputStream
直接の既知のサブクラス:
BufferedInputStream, CheckedInputStream, DataInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream

public class FilterInputStream
extends InputStream

ほかの入力ストリームを格納し、それをデータの基本的なソースとして使用して、データを途中で変換したり、追加機能を提供したりします。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() を実行し、その結果を返します。

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

read

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

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

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

read

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

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

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

skip

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

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

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

available

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

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

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

close

public void close()
           throws IOException
入力ストリームを閉じて、このストリームと関連するすべてのシステムリソースを解放します。このメソッドは単純に in.close() を実行します。
例外:
IOException - 入出力エラーが発生した場合
オーバーライド:
クラス InputStream 内の close
関連項目:
in

mark

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

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

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

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

reset

public void reset()
           throws IOException
入力ストリームの位置を、この入力ストリームに対して mark メソッドが最後に呼ばれた状態まで戻します。

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

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

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

markSupported

public boolean markSupported()
入力ストリームが markreset メソッドをサポートしているかどうかを判定します。このメソッドは単純に in.markSupported() を実行します。
戻り値:
ストリームが markreset メソッドをサポートするタイプの場合は true、そうでない場合は false
オーバーライド:
クラス InputStream 内の markSupported
関連項目:
in, InputStream.mark(int), InputStream.reset()

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.