- すべての実装されたインタフェース:
- Closeable,- AutoCloseable
BufferedInputStreamは、ほかの入力ストリームに機能、特に入力をバッファに格納する機能とmarkおよびresetメソッドをサポートする機能を追加します。 BufferedInputStreamが作成されると、内部バッファ配列が作成されます。 ストリームのバイトが読み込まれるかスキップされると、格納されている入力ストリームから必要に応じて一度に多数のバイトが内部バッファに補充されます。 markオペレーションは入力ストリームの特定位置を記憶します。resetオペレーションは、格納されている入力ストリームから新しいバイトが取得される前に、最後に実行されたmarkオペレーション以降に読み込まれたすべてのバイトを再読込みします。 - 導入されたバージョン:
- 1.0
- 
フィールドのサマリーフィールド修飾子と型フィールド説明protected byte[]データを格納する内部バッファ配列です。protected intバッファ中の最後の有効バイト・インデックスよりも1つ大きな数値を持つインデックスです。protected intmarkメソッドが呼び出され、かつ、後続のresetメソッドの呼出しが失敗する前の状態で先読み可能な最大数です。protected int最後にmarkメソッドが呼び出されたときのposフィールドの値です。protected intバッファ内の現在位置です。クラス java.io.FilterInputStreamで宣言されたフィールドin
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明BufferedInputStreamを作成し、その引数である入力ストリームinをあとで使用できるように保存します。BufferedInputStream(InputStream in, int size) 指定されたバッファ・サイズを持つBufferedInputStreamを作成し、その引数である入力ストリームinをあとで使用できるように保存します。
- 
メソッドのサマリー修飾子と型メソッド説明intこの入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。voidclose()この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。voidmark(int readlimit) InputStreamのmarkメソッドの汎用規約を参照してください。booleanこの入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。intread()InputStreamのreadメソッドの汎用規約を参照してください。intread(byte[] b, int off, int len) このバイト入力ストリームからバイトを読み取って、指定されたバイト配列に指定のオフセットから挿入します。voidreset()InputStreamのresetメソッドの汎用規約を参照してください。longskip(long n) InputStreamのskipメソッドの汎用規約を参照してください。クラス java.io.FilterInputStreamで宣言されたメソッドreadクラス java.io.InputStreamで宣言されたメソッドnullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
- 
フィールド詳細- 
bufprotected volatile byte[] bufデータを格納する内部バッファ配列です。 必要に応じて、異なるサイズのほかの配列で置き換えられます。
- 
countprotected int countバッファ中の最後の有効バイト・インデックスよりも1つ大きな数値を持つインデックスです。 この値の範囲は、常に0からbuf.lengthです。要素buf[0]からbuf[count-1]には、ベースとなる入力ストリームから取得されたバッファリングされた入力データが格納されます。
- 
posprotected int posバッファ内の現在位置です。buf配列の、次に読み込まれる文字データのインデックスです。この値の範囲は、常に 0からcountです。 この値がcountより小さい場合、入力される次のバイトはbuf[pos]です。countに等しい場合、次のreadオペレーションまたはskipオペレーションは格納されている入力ストリームからこれ以降のバイトを読み込む必要があります。- 関連項目:
 
- 
markposprotected int markpos最後にmarkメソッドが呼び出されたときのposフィールドの値です。この値の範囲は、常に -1からposです。 入力ストリームにマーク位置がない場合、このフィールドは-1です。 入力ストリームにマーク位置がある場合、resetオペレーションの実行後に入力される最初のバイトはbuf[markpos]です。markposが-1ではない場合、buf[markpos]からbuf[pos-1]の位置にあるすべてのバイトはバッファ配列に残っていなければいけません(ただし、count、pos、markposの値に適切な調整を施せば、バッファ配列内の別の位置に移動できる)。posとmarkposの差がmarklimitを超えないかぎり、これらのバイトは破棄されません。
- 
marklimitprotected int marklimitmarkメソッドが呼び出され、かつ、後続のresetメソッドの呼出しが失敗する前の状態で先読み可能な最大数です。posとmarkposの差がmarklimitを超えると、markposが-1に設定され、マークは破棄されます。
 
- 
- 
コンストラクタの詳細- 
BufferedInputStreampublic BufferedInputStream(InputStream in) BufferedInputStreamを作成し、その引数である入力ストリームinをあとで使用できるように保存します。 内部バッファ配列が作成され、bufに格納されます。- パラメータ:
- in- ベースとなる入力ストリーム。
 
- 
BufferedInputStreampublic BufferedInputStream(InputStream in, int size) 指定されたバッファ・サイズを持つBufferedInputStreamを作成し、その引数である入力ストリームinをあとで使用できるように保存します。 長さsizeの内部バッファ配列が作成され、bufに格納されます。- パラメータ:
- in- ベースとなる入力ストリーム。
- size- バッファ・サイズ。
- 例外:
- IllegalArgumentException-- size <= 0の場合
 
 
- 
- 
メソッドの詳細- 
readpublic int read() throws IOExceptionInputStreamのreadメソッドの汎用規約を参照してください。- オーバーライド:
- read、クラス- FilterInputStream
- 戻り値:
- データの次のバイト。ストリームの終わりに達した場合は-1。
- 例外:
- IOException- この入力ストリームがその- close()メソッドの呼出しによって閉じられた場合、または入出力エラーが発生した場合。
- 関連項目:
 
- 
readpublic int read(byte[] b, int off, int len) throws IOException このバイト入力ストリームからバイトを読み取って、指定されたバイト配列に指定のオフセットから挿入します。このメソッドは、 InputStreamクラスの対応するreadメソッドの汎用縮小を実装します。 より高い利便性のため、このメソッドはベースとなるストリームのreadメソッドを繰返し呼び出して、できるだけ多くのバイト数を読み込もうとします。 このreadの反復は、次の条件の1つがtrueになるまで行われます。- 指定されたバイト数が読み込まれた。
-  ベースとなるストリームのreadメソッドが、ファイルの終わりを示す-1を返した。
-  ベースとなるストリームのavailableメソッドが、それ以上の入力要求がブロックされることを示すゼロを返した。
 readがファイルの終わりを示す-1を返すと、このメソッドは-1を返します。 そうでない場合、このメソッドは実際に読み込まれたバイト数を返します。このクラスのサブクラスは、同じ方法でできるだけ多くのバイト数を読み込むことが推奨されます。ただし、これは必須ではありません。 - オーバーライド:
- read、クラス- FilterInputStream
- パラメータ:
- b- 転送先バッファ。
- off- バイトの格納開始オフセット。
- len- 読み込むバイトの最大数。
- 戻り値:
- 読み込まれるバイト数。ストリームの終わりに達した場合は-1。
- 例外:
- IOException- この入力ストリームがその- close()メソッドの呼出しによって閉じられた場合、または入出力エラーが発生した場合。
- 関連項目:
 
- 
skippublic long skip(long n) throws IOException InputStreamのskipメソッドの汎用規約を参照してください。- オーバーライド:
- skip、クラス- FilterInputStream
- パラメータ:
- n- スキップされるバイト数。
- 戻り値:
- 実際にスキップされたバイト数。
- 例外:
- IOException- この入力ストリームが- close()メソッドを呼び出して閉じられた場合、- in.skip(n)がIOExceptionをスローするか、I/Oエラーが発生します。
- 関連項目:
 
- 
availablepublic int available() throws IOExceptionこの入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。 次の呼出しは、同じスレッドの場合も別のスレッドの場合もあります。 このような多数のバイトを1回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。このメソッドは、バッファ( count - pos)で読み取られる残りのバイト数の合計と、in.available()のコール結果を戻します。- オーバーライド:
- available、クラス- FilterInputStream
- 戻り値:
- ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数。
- 例外:
- IOException- この入力ストリームがその- close()メソッドの呼出しによって閉じられた場合、または入出力エラーが発生した場合。
 
- 
markpublic void mark(int readlimit) InputStreamのmarkメソッドの汎用規約を参照してください。- オーバーライド:
- mark、クラス- FilterInputStream
- パラメータ:
- readlimit- マーク位置が無効になる前に読込み可能なバイト数の上限。
- 関連項目:
 
- 
resetpublic void reset() throws IOExceptionInputStreamのresetメソッドの汎用規約を参照してください。markposが-1である(マークが設定されていないか、マークが無効になっている)場合、IOExceptionがスローされます。 そうでない場合、posはmarkposに一致するように設定されます。- オーバーライド:
- reset、クラス- FilterInputStream
- 例外:
- IOException- このストリームにマークが付いていない場合、マークが無効な場合、ストリームが- close()メソッドの呼出しによって閉じられた場合、または入出力エラーが発生した場合。
- 関連項目:
 
- 
markSupportedpublic boolean markSupported()この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。BufferedInputStreamのmarkSupportedメソッドはtrueを返します。- オーバーライド:
- markSupported、クラス- FilterInputStream
- 戻り値:
- このストリームの型がmarkおよびresetメソッドをサポートしているかどうかを示すboolean。
- 関連項目:
 
- 
closepublic void close() throws IOExceptionこの入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。 ストリームを閉じたあとに、さらにread()、available()、reset()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
- close、インタフェース- AutoCloseable
- 定義:
- close、インタフェース- Closeable
- オーバーライド:
- close、クラス- FilterInputStream
- 例外:
- IOException- 入出力エラーが発生した場合。
- 関連項目:
 
 
-