第二个方法有问题

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

逆天子陆离

2015-08-01 15:30

第二个方法有问题,if(buf[i]<=0xf)这句有问题,运行结果和老师的不一样,会出现0ce  0ca  0d1这种情况,请老师回答下这个问题

写回答 关注

3回答

  • langren1992
    2015-08-10 21:51:33
    已采纳

    将判断条件写为if((buf[i] &0xff)<= 0xf)。这可能是因为buf[i]取到的数不止八位,这样buf[i]可能是负数了,所以这个判断条件成立了

    逆天子陆离

    非常感谢!

    2015-08-29 20:18:20

    共 2 条回复 >

  • 自由的web
    2015-10-14 14:08:12

    有可能是你的文件是utf-8包含BOM头格式的,这样前3个字节是ef,ee,bf,所以处理的时候会出现为第一个字节为-17的异常情况,就是这个问题

  • 慕斯卡3071394
    2015-09-02 16:22:09

    追问:

    为什么buf[i]取到的数不止八位呢? 不是字节数组么?

文件传输基础——Java IO流

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

133754 学习 · 1030 问题

查看课程

相似问题