gpt4 book ai didi

java - Java 中文件结尾和字节值 -1 之间的区别?

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:58 25 4
gpt4 key购买 nike

在 java 中,字节是有符号的(-128 到 127),这意味着输入流可以在未到达文件末尾的情况下读取 -1。

那么程序员如何知道输入流返回的 -1 是表示文件结束还是 -1 的实际字节值?

最佳答案

InputStream 读取时,the read method不返回 byte;它返回一个 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 中是有符号的,但这在这里并不重要,因为读取的字节被转换为可以存储大于 127 的值的 int。这也意味着 到达流末尾的 -1 不会与从流中读取的值 255 混淆。

获得值后,您始终可以将 int 转换为 byte 以获得 -128 到 127 范围内的字节,这会将 255 转换为到-1。

关于java - Java 中文件结尾和字节值 -1 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com