補零后,輸出出現(xiàn)三位數(shù)
public?static?void?printHexByByteArray(String?fileName)?throws?IOException?{ FileInputStream?in=new?FileInputStream(fileName); byte[]?buf=new?byte[1*1024]; int?b=in.read(buf,?0,?buf.length); int?j=1; for?(int?i?=?0;?i?<?b;?i++)?{ if?(buf[i]<=0xf)?{ System.out.print("0"); } System.out.print(Integer.toHexString(buf[i]?&?0xff)+"?"); if(j++%10==0){ System.out.println(); } } in.close(); }
2016-02-29
把if的判斷條件再限制嚴格一點,改為?if(buf[i] <= 0xf && buf[i] >= 0x0) 出現(xiàn)3位的都是最高位為1的,被識別為有符號的負數(shù),肯定小于0xf了