java中byte的取值范围 FileInputStream的read()方法一次读取一个字节并返回?

FileInputStream的read()方法一次读取一个字节并返回?从输入流读取下一个字节的数据。返回0到255范围内的int字节值。如果由于到达流的结尾而没有字节可用,则返回值为-1。我们需要使

FileInputStream的read()方法一次读取一个字节并返回?

从输入流读取下一个字节的数据。返回0到255范围内的int字节值。如果由于到达流的结尾而没有字节可用,则返回值为-1。我们需要使用一个不能出现在数据中的值来表示流的结尾。在Java中,我们使用-1表示结束,因为-1不会出现在数据中。如果我们返回byte,就不能表示流的结尾。byte的值范围是从-128到127,这个范围内的所有数据,read()方法需要返回一个特殊的值来表示流的结束。流中的数据不能重复此值。read()方法在内部将所有读取字节的高位转换为int。这样,所有数据都将是正数。这时可以用-1来表示流的结尾,而更改后的数据只需要强转换回byte,就可以得到原始数据。也就是说,在Java中,您将单字节数据与字节数据混淆。