public class BufferedInputStream extends FilterInputStream
BufferedInputStream は、ほかの入力ストリームに機能、特に入力をバッファーに格納する機能と mark および reset メソッドをサポートする機能を追加します。BufferedInputStream が作成されると、内部バッファー配列が作成されます。ストリームのバイトが読み込まれるかスキップされると、格納されている入力ストリームから必要に応じて一度に多数のバイトが内部バッファーに補充されます。mark オペレーションは入力ストリームの特定位置を記憶します。reset オペレーションは、格納されている入力ストリームから新しいバイトが取得される前に、最後に実行された mark オペレーション以降に読み込まれたすべてのバイトを再読み込みします。| 修飾子と型 | フィールドと説明 | 
|---|---|
| protected byte[] | bufデータを格納する内部バッファー配列です。 | 
| protected int | countバッファー中の最後の有効バイトインデックスよりも 1 つ大きな数値を持つインデックスです。 | 
| protected int | marklimitmarkメソッドが呼び出され、かつ、後続のresetメソッドの呼び出しが失敗する前の状態で先読み可能な最大数です。 | 
| protected int | markpos最後に  markメソッドが呼び出されたときのposフィールドの値です。 | 
| protected int | posバッファー内の現在位置です。 | 
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メソッドの汎用規約を参照してください。 | 
readprotected 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 を超えないかぎり、これらのバイトは破棄されません。
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 メソッドの汎用規約を参照してください。read、クラス: FilterInputStream-1。IOException - この入力ストリームがその close() メソッドの呼び出しによって閉じられた場合、または入出力エラーが発生した場合。FilterInputStream.inpublic int read(byte[] b,
       int off,
       int len)
         throws IOException
 このメソッドは、InputStreamreadread メソッドを繰り返し呼び出して、できるだけ多くのバイト数を読み込もうとします。この read の反復は、次の条件の 1 つが true になるまで行われます。 
read メソッドが、ファイルの終わりを示す -1 を返した。
available メソッドが、それ以上の入力要求がブロックされることを示すゼロを返した。
read がファイルの終わりを示す -1 を返すと、このメソッドは -1 を返します。そうでない場合、このメソッドは実際に読み込まれたバイト数を返します。
このクラスのサブクラスは、同じ方法でできるだけ多くのバイト数を読み込むことが推奨されます。ただし、これは必須ではありません。
read、クラス: FilterInputStreamb - 転送先バッファー。off - バイトの格納開始オフセット。len - 読み込むバイトの最大数。-1。IOException - この入力ストリームがその close() メソッドの呼び出しによって閉じられた場合、または入出力エラーが発生した場合。FilterInputStream.inpublic long skip(long n)
          throws IOException
InputStream の skip メソッドの汎用規約を参照してください。skip、クラス: FilterInputStreamn - スキップされるバイト数。IOException - ストリームがシークをサポートしない場合、この入力ストリームが close() メソッドの呼び出しによって閉じられた場合、または入出力エラーが発生した場合。public int available()
              throws IOException
このメソッドは、バッファーの中に残っている読み込み可能なバイトの総数 (count - pos)、および in.available() 呼び出しの結果を返します。
available、クラス: FilterInputStreamIOException - この入力ストリームがその close() メソッドの呼び出しによって閉じられた場合、または入出力エラーが発生した場合。public void mark(int readlimit)
InputStream の mark メソッドの汎用規約を参照してください。mark、クラス: FilterInputStreamreadlimit - マーク位置が無効になる前に読み込み可能なバイト数の上限。reset()public void reset()
           throws IOException
InputStream の reset メソッドの汎用規約を参照してください。
 
markpos が -1 である (マークが設定されていないか、マークが無効になっている) 場合、IOException がスローされます。そうでない場合、pos は markpos に一致するように設定されます。
reset、クラス: FilterInputStreamIOException - このストリームにマークが付いていない場合、マークが無効な場合、ストリームが close() メソッドの呼び出しによって閉じられた場合、または入出力エラーが発生した場合。mark(int)public boolean markSupported()
mark および reset メソッドをサポートしているかどうかを判定します。BufferedInputStream の markSupported メソッドは true を返します。markSupported、クラス: FilterInputStreammark および reset メソッドをサポートしているかどうかを示す boolean。InputStream.mark(int), InputStream.reset()public void close()
           throws IOException
close、インタフェース: Closeableclose、インタフェース: AutoCloseableclose、クラス: FilterInputStreamIOException - 入出力エラーが発生した場合。FilterInputStream.in バグまたは機能を送信 
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.