3

我对此处出现的以下声明感到困惑

InputStream 类的基本 read() 方法读取单个无符号数据字节并返回无符号字节的 int 值。这是一个介于 0 和 255 之间的数字。如果遇到流的结尾,则返回 -1;你可以用它作为一个标志来观察流的结束。

由于一个字节最多可以表示 256 个整数,我看不出它是如何表示 0 到 256 和 -1 的。有人可以评论我在这里缺少的东西吗?

4

3 回答 3

3

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

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

于 2013-01-22T00:13:40.877 回答
3

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

于 2013-01-22T00:14:01.720 回答
3

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

于 2013-01-22T00:14:26.260 回答