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

数据流的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();
	}


正在回答

3 回答

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

可以这样写:

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

System.out.print("0");

}


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

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

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

http://img1.sycdn.imooc.com//5906ba31000187ea06230607.jpg为什么补零没起到作用

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

举报

0/150
提交
取消

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

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