为什么我IOUtilTest2的和1的输出结果不同,下面是摘取的一段不同的输出结果
这是IOUtilTest2的:
20 20 20 2f 2a 2a 0d 0a 20 20
20 20 20 2a 20 0ffffffe8 0ffffffaf 0ffffffbb 0ffffffe5 0ffffff8f
这是IOUtilTest1的:
20 20 20 2f 2a 2a 0d 0a 20 20
20 20 20 2a 20 e8 af bb e5 8f
IOUtilTest2的代码:
public static void printHexByByteArray(String fileName)throws IOException{ FileInputStream in=new FileInputStream(fileName); byte[]buf=new byte[20*1024]; /**从in中批量读取字节 * 放入到buf这个字节数组中 * 从第0个位置开始放 * 最多放buf.length个 * 返回的是读取到的字节的个数 */ int bytes=in.read(buf,0, buf.length);//一次性读完,说明字节数组足够大 int j=1; for (int i=0;i<bytes;i++){ if (buf[i]<=0xf){ System.out.print("0"); } System.out.print(Integer.toHexString(buf[i])+" "); if (j++%10==0){ System.out.println(); } }
System.out.print(Integer.toHexString(buf[i])+" ");
前面补了0 , 后面这里
nteger.toHexString(buf[i])+
没有去0
if (buf[i]<=0xf){ System.out.print("0"); }
你这个代码是前面补0 了吧