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

数据流的byte数组读取方法为什么我的这个方法运行结果不对?

public static void ReadByteUtils(String name) throws IOException{
		FileInputStream in = new FileInputStream(name);
		byte[] bt = new byte[20*1024];
		int a = in.read(bt, 0, bt.length);
		int j = 1;
		for(int i=0;i<=a-1;i++){
			if(bt[i]<=0xf){
				System.out.print("0");
			}
			System.out.print(Integer.toHexString(bt[i]&0xff)+"  ");
			if(j++%10==0){
				System.out.println();
			}
		}
	
	 in.close();
	}


提问者:慕慕4517339 2017-05-01 12:30

个回答

  • Lx_21
    2018-06-12 08:47:57

    单位数补0的if条件有问题!

    可以这样写:

    if((buf[i] & 0xff)<=0xf) {

    System.out.print("0");

    }


  • AlbertRui
    2017-08-01 22:41:23

    if判断里面加一个按位与 0xf

  • 慕慕4517339
    2017-05-01 12:32:26

    http://img.mukewang.com/5906ba31000187ea06230607.jpg为什么补零没起到作用