输出结果不一样,看了代码是和老师的一样的
为什么我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();
}
}