【发布时间】:2017-04-10 15:37:21
【问题描述】:
我有一个学生作业,但我有一些问题。当我试图打开我的 png 文件时,通过这段代码:
File file = new File("png.png");
byte[] fileContent = Files.readAllBytes(file.toPath());
for (int i=0; i<fileContent.length; i++)
System.out.println(fileContent[i]);
我注意到大于 128 的字节被转换为负值。例如第一个值(在 PNG 结构中)是 137,在我的 eclips 视图中是 -119。怎么了?我做错了什么,还是我必须以某种方式将负值转换为不同的值?
我想在这个结构上添加操作(但首先我需要了解这些位...)
【问题讨论】:
-
老兄,你的反应比 Chuck Norris 还要快...非常感谢。我找不到我的答案,很抱歉。 :)
-
因为 Java 中的字节是有符号的。 How can I read a file as unsigned bytes in Java?
标签: java