问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

第二个方法有问题

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

提问者:逆天子陆离 2015-08-01 15:30

个回答

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

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

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

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

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

    追问:

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