java - 为什么 InputStream#read() 返回一个 int 而不是一个字节?

标签 java inputstream

为什么 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/

相关文章:

java - 某些区域设置中的 AM/PM 符号与预期不符

java - 简单的 Java 进程输入/输出失败

java - Process.getInputStream() 不返回所有行

c++ - C++中的插入器和提取器函数

java - 将 InputStream 转换为 JSONObject

java - 从内部存储中删除多个选中的文件

java - 在另一个透明物体上绘制一个透明物体

java - 哪个更贵 : using variables or using for loop instead of declaring variables to hold temp results?

根据场景属性的Javafx Mediaview设置

java - 创建InputSource后可以立即关闭InputStream吗?