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

来源:4-2 字节流之文件输入流FileInputStream-2

慕慕4517339

2017-05-01 12:30

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();
	}


写回答 关注

3回答

  • 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为什么补零没起到作用

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题