|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.io.InputStream | +--java.io.FilterInputStream
ほかの入力ストリームを格納し、それをデータの基本的なソースとして使用して、データを途中で変換したり、追加機能を提供したりします。FilterInputStream
クラスは、単純に、格納されている入力ストリームへのすべての要求を通過させるバージョンで InputStream
のすべてのメソッドをオーバーライドします。FilterInputStream
のサブクラスは、それらのメソッドをさらにオーバーライドでき、追加のメソッドおよびフィールドも提供できます。
フィールドの概要 | |
protected InputStream |
in
フィルタ処理される入力ストリームです。 |
コンストラクタの概要 | |
protected |
FilterInputStream(InputStream in)
あとで使用できるように引数 in を this.in フィールドに割り当てることによって、FilterInputStream を作成します。 |
メソッドの概要 | |
int |
available()
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。 |
void |
close()
入力ストリームを閉じて、このストリームと関連するすべてのシステムリソースを解放します。 |
void |
mark(int readlimit)
入力ストリームの現在位置にマークを設定します。 |
boolean |
markSupported()
入力ストリームが mark と reset メソッドをサポートしているかどうかを判定します。 |
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 |
フィールドの詳細 |
protected InputStream in
コンストラクタの詳細 |
protected FilterInputStream(InputStream in)
in
を this.in
フィールドに割り当てることによって、FilterInputStream
を作成します。in
- 基本となる入力ストリーム。このインスタンスが基礎のストリームなしで生成される場合は null
メソッドの詳細 |
public int read() throws IOException
0
〜 255
の範囲の int
として返されます。ストリームの終わりに達してバイトがない場合は、値 -1
が返されます。このメソッドは、入力データが読み込まれるようになるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
このメソッドは単純に in.read()
を実行し、その結果を返します。
InputStream
内の read
-1
IOException
- 入出力エラーが発生した場合in
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)
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
public long skip(long n) throws IOException
n
バイトだけスキップして破棄します。さまざまな理由から、skip
メソッドは、指定されたよりも少ないバイト数 (0
の場合もある) しかスキップしないことがあります。実際にスキップしたバイト数を返します。
このメソッドは単純に in.skip(n)
を実行します。
InputStream
内の skip
n
- スキップするバイト数IOException
- 入出力エラーが発生した場合public int available() throws IOException
このメソッドは単純に in.available(n)
を実行し、その結果を返します。
InputStream
内の available
IOException
- 入出力エラーが発生した場合in
public void close() throws IOException
in.close()
を実行します。InputStream
内の close
IOException
- 入出力エラーが発生した場合in
public void mark(int readlimit)
reset
メソッドを呼び出すと、最後にマークが設定された位置にストリームを再設定するため、次回の読み込み操作では同じバイトから読み込むことになります。
引数 readlimit
はこの入力ストリームに対して、マーク位置が無効になる前にこの引数が指定するバイト数を読み込むように指示します。
このメソッドは単純に in.mark(readlimit)
を実行します。
InputStream
内の mark
readlimit
- マーク位置が無効になる前に読み込み可能なバイトの最大リミットin
,
reset()
public void reset() throws IOException
mark
メソッドが呼び出されたときのマーク位置に再設定します。
このメソッドは単純に in.reset()
を実行します。
ストリームのマークは、ストリームに何が含まれているかをチェックするために、少しデータを先読みするために使われます。これをもっとも容易に実行する方法は、一般的なパーサを呼び出すことです。ストリームがパーサで取り扱えるタイプであれば、これですべてうまく行きます。ストリームがこのようなタイプではない場合は、パーサが失敗した場所で例外を発生させます。readlimit バイトの範囲内でこれが発生した場合は、例外を検知した外部コードがストリームをリセットして、別なパーサで再試行することができます。
InputStream
内の reset
IOException
- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合in
,
mark(int)
public boolean markSupported()
mark
と reset
メソッドをサポートしているかどうかを判定します。このメソッドは単純に in.markSupported()
を実行します。InputStream
内の markSupported
mark
と reset
メソッドをサポートするタイプの場合は true
、そうでない場合は false
in
,
InputStream.mark(int)
,
InputStream.reset()
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.