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 - 我可以在 Synology NAS 中部署 Java Spring-Boot 应用程序吗?

java - 我需要关闭 ByteArrayInputStream 吗?

java - 无法读取 Jelly Bean 上的套接字 InputStream

java - 不想在读取inputStream时等待\n

java - 一次循环插入到不同的表中

java - 在类中创建新的KeyListener的问题

java - jXLS评估内部变量

java - 订阅者未注册时的Eventbus(greenrobot)事件

java - Java InputStream无法从JAR内读取文件

android - 在 ContentProvider 中下载和存储图像