<分区>
This页面显示说它是这样的,当它想要指示没有更多的字节要读取时,该方法可以返回 -1。
但是一个字节的范围是从-128到127,对吧? read() 的返回类型是 byte 不是更有意义吗,因为它返回一个字节?
感谢您的宝贵时间。
<分区>
This页面显示说它是这样的,当它想要指示没有更多的字节要读取时,该方法可以返回 -1。
但是一个字节的范围是从-128到127,对吧? read() 的返回类型是 byte 不是更有意义吗,因为它返回一个字节?
感谢您的宝贵时间。
最佳答案
将值作为 int
返回的原因是它需要返回一个介于 0-255 之间的值,以及能够指示何时没有更多字节可从文件。通过使用 int
,您可以返回整个范围的无符号正值 0-255,并指示文件何时完成。它无法仅使用 byte
值的 256 个不同值来提供此功能,其中一半在 Java 默认情况下为负数。
关于java - 为什么 FileInputStream 中的 read() 返回一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060589/