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

结果不对?

此处我的输出结果:

41 00 00 d6 b9

为什么会这样?

附代码:

public static void printHex(String fileName) throws IOException{
		//把文件作为字节流进行读操作
		FileInputStream in=new FileInputStream(fileName);
		int b;
		int i=1;
		while((b=in.read())!=-1){
			if(in.read() <= 0xf)
				System.out.print("0");
			System.out.print(Integer.toHexString(b)+" ");
			if(i++%10==0)
				System.out.println();
		}
		in.close();
	}
public class FileOutDemo1 {
	public static void main(String[] args) throws IOException{
		//如果该文件不存在,则直接创建;如果存在,删除后创建
		FileOutputStream out=new FileOutputStream("demo/out.dat");
		out.write('A');//写出了'A'的低八位
		out.write('B');//写出了'B'的低八位
		int a=10;//write只能写八位,那么写一个int需要写4次每次8位
		out.write(a >>> 24);
		out.write(a >>> 16);
		out.write(a >>> 8);
		out.write(a);
		byte[] gbk="中国".getBytes("gbk");
		out.write(gbk);
		out.close();
		
		IOUtil.printHex("demo/out.dat");
	}

}


正在回答

2 回答

还在吗?

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

wshyzx 提问者

????
2016-09-08 回复 有任何疑惑可以回复我~

第七行的if语句代码 写错啦 你又读了一次

应该这样写

  if(b <= 0xf)
        System.out.print("0");


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

wshyzx 提问者

为什么会导致这个结果?
2016-08-06 回复 有任何疑惑可以回复我~
#2

susu_name 回复 wshyzx 提问者

读了两次 肯定少一半、、
2016-08-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

结果不对?

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