|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
public class BufferedInputStream
ほかの入力ストリームに機能、特に入力をバッファに格納する機能と mark メソッドと reset メソッドをサポートする機能を追加します。BufferedInputStream が作成されると、内部バッファ配列が作成されます。ストリームのバイトが読み込まれるかスキップされると、格納されている入力ストリームから必要に応じて一度に多数のバイトが内部バッファに補充されます。mark オペレーションは入力ストリームの特定位置を記憶します。reset オペレーションは、格納されている入力ストリームから新しいバイトが取得される前に、最後に実行された mark オペレーション以降に読み込まれたすべてのバイトを再読み込みします。
| フィールドの概要 | |
|---|---|
protected byte[] |
buf
データを格納する内部バッファ配列です。 |
protected int |
count
バッファ中の最後の有効バイトインデックスよりも 1 つ大きな数値を持つインデックスです。 |
protected int |
marklimit
mark メソッドが呼び出され、かつ、後続の reset メソッドが失敗する前の状態で先読み可能な最大数です。 |
protected int |
markpos
最後に mark メソッドが呼び出されたときの pos フィールドの値です。 |
protected int |
pos
バッファの現在位置です。 |
| クラス java.io.FilterInputStream から継承されたフィールド |
|---|
in |
| コンストラクタの概要 | |
|---|---|
BufferedInputStream(InputStream in)
BufferedInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。 |
|
BufferedInputStream(InputStream in,
int size)
指定されたバッファサイズを持つ BufferedInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。 |
|
| メソッドの概要 | |
|---|---|
int |
available()
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。 |
void |
close()
この入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。 |
void |
mark(int readlimit)
InputStream の mark メソッドの汎用規約を参照してください。 |
boolean |
markSupported()
入力ストリームが mark と reset メソッドをサポートしているかどうを調べます。 |
int |
read()
InputStream の read メソッドの汎用規約を参照してください。 |
int |
read(byte[] b,
int off,
int len)
このバイト入力ストリームからバイトを読み取って、指定されたバイト配列に指定のオフセットから挿入します。 |
void |
reset()
InputStream の reset メソッドの汎用規約を参照してください。 |
long |
skip(long n)
InputStream の skip メソッドの汎用規約を参照してください。 |
| クラス java.io.FilterInputStream から継承されたメソッド |
|---|
read |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
protected volatile byte[] buf
protected int count
0 〜 buf.length です。要素 buf[0] 〜 buf[count-1] には、基本となる入力ストリームから取得され、バッファに格納されている入力データが入ります。
protected int pos
buf 配列の、次に読み込まれる文字データのインデックスです。
この値の範囲は、常に 0 〜 count です。この値が count より小さい場合、入力される次のバイトは buf[pos] です。count に等しい場合、次の read オペレーションまたは skip オペレーションは格納されている入力ストリームからこれ以降のバイトを読み込む必要があります。
bufprotected int markpos
mark メソッドが呼び出されたときの pos フィールドの値です。
この値の範囲は、常に -1 〜 pos です。入力ストリームにマーク位置がない場合、このフィールドは -1 です。入力ストリームにマーク位置がある場合、reset オペレーションの実行後に入力される最初のバイトは buf[markpos] です。markpos が -1 ではない場合、buf[markpos] 〜 buf[pos-1] の位置にあるすべてのバイトはバッファ配列に残っていなければなりません (ただし、count、pos、markpos の値に適切な調整を施せば、バッファ配列内の別の位置に移動できる)。pos と markpos の差が marklimit を超えないかぎり、これらのバイトは破棄されません。
mark(int),
posprotected int marklimit
mark メソッドが呼び出され、かつ、後続の reset メソッドが失敗する前の状態で先読み可能な最大数です。pos と markpos の差が marklimit を超えると、markpos が -1 に設定され、マークは破棄されます。
mark(int),
reset()| コンストラクタの詳細 |
|---|
public BufferedInputStream(InputStream in)
BufferedInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。内部バッファ配列が作成され、buf に格納されます。
in - 基本となる入力ストリーム
public BufferedInputStream(InputStream in,
int size)
BufferedInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。長さ size の内部バッファ配列が作成され、buf に格納されます。
in - 基本となる入力ストリームsize - バッファサイズ
IllegalArgumentException - size が 0 以下の場合| メソッドの詳細 |
|---|
public int read()
throws IOException
InputStream の read メソッドの汎用規約を参照してください。
FilterInputStream 内の read-1
IOException - 入出力エラーが発生した場合FilterInputStream.in
public int read(byte[] b,
int off,
int len)
throws IOException
このメソッドは、 クラスの対応する InputStream メソッドの汎用規約を実装します。より便利なように、このメソッドは基本となるストリームの readread メソッドを繰り返し呼び出して、できるだけ多くのバイト数を読み込もうとします。この read の繰り返しは、以下の条件の 1 つが true になるまで行われます。
read メソッドが、ファイルの終わりを示す -1 を返した
available メソッドが、それ以上の入力要求がブロックされることを示すゼロを返した
read がファイルの終わりを示す -1 を返すと、このメソッドは -1 を返します。そうでない場合、このメソッドは実際に読み込まれたバイト数を返します。
このクラスのサブクラスは、同じ方法でできるだけ多くのバイト数を読み込むことが推奨されます。ただし、これは必須ではありません。
FilterInputStream 内の readb - 転送先バッファoff - バイトの格納開始オフセットlen - 読み込むバイトの最大数
-1
IOException - 入出力エラーが発生した場合FilterInputStream.in
public long skip(long n)
throws IOException
InputStream の skip メソッドの汎用規約を参照してください。
FilterInputStream 内の skipn - スキップするバイト数
IOException - 入出力エラーが発生した場合
public int available()
throws IOException
BufferedInputStream の available メソッドは、バッファの中に残っている読み込み可能なバイトの総数 (count - pos) を返し、基本となる入力ストリームの available メソッド呼び出しの結果を返します。
FilterInputStream 内の availableIOException - 入出力エラーが発生した場合FilterInputStream.inpublic void mark(int readlimit)
InputStream の mark メソッドの汎用規約を参照してください。
FilterInputStream 内の markreadlimit - マーク位置が無効になる前に読み込み可能なバイトの最大リミットreset()
public void reset()
throws IOException
InputStream の reset メソッドの汎用規約を参照してください。
markpos が -1 である (マークが設定されていないか、マークが無効にされている) 場合、IOException がスローされます。そうでない場合、pos は markpos に一致するように設定されます。
FilterInputStream 内の resetIOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合mark(int)public boolean markSupported()
mark と reset メソッドをサポートしているかどうを調べます。BufferedInputStream の markSupported メソッドは true を返します。
FilterInputStream 内の markSupportedmark と reset メソッドをサポートしているかどうかを示す booleanInputStream.mark(int),
InputStream.reset()
public void close()
throws IOException
Closeable 内の closeFilterInputStream 内の closeIOException - 入出力エラーが発生した場合FilterInputStream.in
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。