如图,写入一个byte数组到一个txt文件里,这个数组里有-128~127的数字。然后用read方法读取出来,运行的时候发现,只要是原数组里的负数,输出的结果都是上万的数,像65536之类的,而且在负数之后的那一个数字也消失了,就好像两个数合并输出了一样。
java小白用read方法读取txt中的一个存在负数的byte数组,结果出现了很多过万的数,为什么?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- coolsunxu 2017-05-14 12:00关注
write(int a)这个方法,它的功能是写入a代表的byte值,也就是说,该函数实际上是将a 的后八位写入到文件中 , 而read这个函数返回的是八位的无符号数,所以你的负数是显示不出来的
解决 无用评论 打赏 举报