结果不对?

来源:4-3 字节流之文件输出流FileOutputStream

wshyzx

2016-08-05 23:59

此处我的输出结果:

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回答

  • XhstormR
    2016-09-08 08:02:05

    还在吗?

    wshyzx

    ????

    2016-09-08 16:50:53

    共 1 条回复 >

  • susu_name
    2016-08-06 09:17:55

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

    应该这样写

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


    susu_n... 回复wshyzx

    读了两次 肯定少一半、、

    2016-08-09 09:41:21

    共 2 条回复 >

文件传输基础——Java IO流

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

133754 学习 · 1030 问题

查看课程

相似问题