Java サポート例外なのでEOFException
、入力ストリームの最後にあるバイトを読み取ろうとすると、次のようにスローされると思いました。
byte read() throws EOFException, IOException
しかし、実際にはInputStream#readが返されます
データの次のバイト、またはストリームの終わりに達した場合は -1。
これはCのことを思い出させますがgetchar
、一方でスローします
IOException
: I/O エラーが発生した場合。
なぜこのような設計になっているのでしょうか。