Java 中文件结尾和字节值 -1 之间的区别?
Difference between the end of file and a byte value of -1 in Java?
在java中,字节是有符号的(-128 到 127),这意味着输入流可以读取 -1 而不会到达文件末尾。
那么程序员如何知道输入流返回的 -1 是表示文件结尾还是实际字节值 -1?
从 InputStream
读取时,the read
method 不会 return 读取 byte
;它 return 是 int
.
The value byte is returned as an int
in the range 0
to 255
. If no byte is available because the end of the stream has been reached, the value -1
is returned.
即使字节在 Java 中签名,这在这里并不重要,因为读取的字节被转换为 int
可以存储大于 127 的值。这也意味着-1
到达流的末尾不会与从流中读取的值 255 混淆。
获得值后,您始终可以将 int
转换为 byte
以获得 -128 到 127 范围内的字节,这会将 255 转换为 -1。
在java中,字节是有符号的(-128 到 127),这意味着输入流可以读取 -1 而不会到达文件末尾。
那么程序员如何知道输入流返回的 -1 是表示文件结尾还是实际字节值 -1?
从 InputStream
读取时,the read
method 不会 return 读取 byte
;它 return 是 int
.
The value byte is returned as an
int
in the range0
to255
. If no byte is available because the end of the stream has been reached, the value-1
is returned.
即使字节在 Java 中签名,这在这里并不重要,因为读取的字节被转换为 int
可以存储大于 127 的值。这也意味着-1
到达流的末尾不会与从流中读取的值 255 混淆。
获得值后,您始终可以将 int
转换为 byte
以获得 -128 到 127 范围内的字节,这会将 255 转换为 -1。