我对以下显示here
的陈述感到困惑InputStream类的基本read()方法读取单个 无符号字节数据并返回无符号字节的int值。 这是0到255之间的数字。如果流的结尾是 遇到了,它返回-1而不是;你可以用它作为旗帜 注意流的结束。
由于一个字节最多可以表示256个整数,因此我无法看到它如何表示0到256和-1。有人可以评论我在这里缺少什么吗?
答案 0 :(得分:3)
虽然read()
操作只是读取一个字节,但它实际上返回int
,所以没有问题。
除了流值的特殊-1结尾外,只返回0-255范围内的值。
答案 1 :(得分:3)
它返回int
,而不是byte
,因此虽然它通常只包含0-255,但可以包含其他值。
答案 2 :(得分:3)
InputStream#read()的返回类型为int
,如果值在0-255范围内,则可以将其读作byte
。