各数値がバイトを表す次のサンプル ファイルがあるとします (123 にはバイト 1、2、および 3 があります)。
123456789
FileInputStream を作成するとします。これにより、バイナリがバイトごとに読み込まれます。したがって、.read() は 1 を返し、次に 2 などを返します。ここで、バッファーを作成するとします。読み込む最初のチャンク (バッファを正しく理解していれば) は 1 ~ 5 です。これにより、バイトごとに読み取るだけでなく、文字の場合は行全体などを読み取ることができます。改行し、BufferedReader に最初の行を出力するように指示すると、1-2 が出力され、次に FileInputStream から .read() を使用すると、3 ではなく 6 が返されます。)
区切り文字でデータを解析できるようにするために、BufferedReader が改行などを見つけることができるようにバッファーを作成する方法のように、スキャナーは暗黙的にバッファーを作成しますか? 別の FileInputStream をスキャナーに渡すと、.read() を使用すると、スキャナーが検出した最初の区切り文字に続く最初のバイトが出力されず、スキャナーが取得した「チャンク」の最後に出力されますか?