关掉这个问题 Issue regarding the return value of the read() function in java?
为什么read方法的返回类型是int的答案是输入流可以返回-1(EOF标记) 我的问题是不能将-1表示为一个字节? 一位(0或1)可以表示正面或负面 其余的(7位代表绝对值) - 即0000001?
答案 0 :(得分:3)
A"字节"是文件中的8位值。这些8位有256种可能的组合;这些是从0到255,或从-128到127的所有值,但是您想要查看它。 read()
必须能够返回所有256个值,因为它们中的任何一个都可以在文件中。 read()
还必须能够返回一些特殊标记以指示文件结束。因此,read()
必须能够返回257个不同的值,如果它返回byte
则无法执行此操作,因为byte
只有256个可能的值。