为什么 InputStream#read()
返回一个 int
而不是 byte
?
最佳答案
因为 byte
只能保存 -128 到 127,而它应该返回 0 到 255(当没有剩余字节时返回 -1(即 EOF))。即使它返回 byte
,也没有空间来表示 EOF。
一个更有趣的问题是为什么它不返回 short
。
关于java - 为什么 InputStream#read() 返回一个 int 而不是一个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4659659/