对于‘补0’的问题

来源:4-2 字节流之文件输入流FileInputStream-2

超人93

2016-07-18 17:39

http://img.mukewang.com/578ca2fe0001261211490529.jpg

代码都一样,可是读出来的却多了个0,

[65, 66, 127, -1, -1, -1, 127, -1, -1, -1, -28, -72, -83]这是文件的编码内容

写回答 关注

3回答

  • 心and心
    2016-07-19 11:32:16
    已采纳

    当读取字节放入数组中时,

    若放入的是正数,if判断的结果是把十六进制只有一位的前面补0

    若放入的是负数,所有的负数一定小于0xf这个正数,if判断一定成立,全都会补0

    所以会出现有两位十六进制数仍然在前面补0的情况

    超人93

    我在判断里加了一句&0xff,输出对了

    2016-07-19 14:10:04

    共 1 条回复 >

  • 超人93
    2016-07-19 14:11:19

    (buf(i)&0xff)<=0xf   这样输出格式就对了,不知道逻辑上对不对。。

    gdjy09...

    我试了一下(buf(i)&0xff)<=0xf,与不用相比,只是前面的0没了,原数据没有改变 逻辑上应该是对的,因为byte是bite,0xff也是8bite,没有数据改变

    2016-09-07 21:55:41

    共 1 条回复 >

  • 柠檬萌不萌
    2016-07-18 19:54:45

    我也出现了这样的问题,可能是方法里面那个写错了。

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题