EOF -1 与内部 -1 数据

EOF -1 vs an internal -1 data

提问人:Mahmoud-310 提问时间:9/10/2022 最后编辑:Mahmoud-310 更新时间:9/10/2022 访问量:29

问:

到达流末尾时,InputStream 方法返回的 -1 与流数据中的 -1 有何区别?

Java IO EOF

评论

5赞 Jon Skeet 9/10/2022
数据不能包含“-1”。每个字节都以 0-255 的形式返回。(不幸的是,字节是用 Java 签名的......以这种方式查看它们很少有用。来自 InputStream.read 的文档:“值 byte 以 0 到 255 范围内的 int 形式返回。如果由于已到达流的末尾而没有可用的字节,则返回值 -1”。如果您不清楚,请编辑您的问题以澄清您遇到的困难。
0赞 Mahmoud-310 9/10/2022
因此,如果我试图将 -1 写入文件,而其他人试图读取它,则会得到 255,并且不会不知道我试图(粗心地)编写 -1,因为它不打算以这种方式工作?
1赞 access violation 9/10/2022
“将 -1 写入文件”是什么意思?在基层,文件由字节组成。你的意思是一个字节,所有一位都有吗?然后,它被读取为具有所有一位的单个字节 - 作为整数结果,它将返回为 255。如果你的意思是四个字节,每个字节都有一位,那么你会看到四个字节,如果你愿意,你可以把它们组合成一个四字节的 int。重申一下:文件是由字节组成的,因此,如果你想编写大于一个字节的实体,读者必须同意如何解释字节以恢复所写内容的“意义”。
0赞 Mahmoud-310 9/10/2022
@access 是的,我的意思是第一句话,谢谢

答: 暂无答案