JAVA中的流结束

时间:2013-01-22 00:11:52

标签: java io inputstream

我对以下显示here

的陈述感到困惑
  

InputStream类的基本read()方法读取单个   无符号字节数据并返回无符号字节的int值。   这是0到255之间的数字。如果流的结尾是   遇到了,它返回-1而不是;你可以用它作为旗帜   注意流的结束。

由于一个字节最多可以表示256个整数,因此我无法看到它如何表示0到256和-1。有人可以评论我在这里缺少什么吗?

3 个答案:

答案 0 :(得分:3)

虽然read()操作只是读取一个字节,但它实际上返回int,所以没有问题。

除了流值的特殊-1结尾外,只返回0-255范围内的值。

答案 1 :(得分:3)

它返回int,而不是byte,因此虽然它通常只包含0-255,但可以包含其他值。

答案 2 :(得分:3)

InputStream#read()的返回类型为int,如果值在0-255范围内,则可以将其读作byte