为了账号安全,请及时绑定邮箱和手机立即绑定

输出结果不一样,看了代码是和老师的一样的

为什么我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();
        }
    }


正在回答

2 回答

System.out.print(Integer.toHexString(buf[i])+"  ");

前面补了0 , 后面这里

nteger.toHexString(buf[i])+

没有去0

0 回复 有任何疑惑可以回复我~
if (buf[i]<=0xf){
            System.out.print("0");
        }

你这个代码是前面补0 了吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

输出结果不一样,看了代码是和老师的一样的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信