问答详情
源自:3-1 RandomAccessFile基本操作

int型数据读取乱码问题

把int型数据写入了txt文件,按字符串数据读取时出现了乱码,为什http://img.mukewang.com/58fdc7be0001137609570371.jpg么?

提问者:慕粉2138545409 2017-04-24 17:40

个回答

  • 未来將来
    2017-04-25 11:51:49

    因为你写的时候是一个字节一个字节写的,所以读的时候也要一个字节一个字节读。(我不确定是不是这个原因)

    两种方式可以正常读到:

    1、raf.seek(0)后面的语句改为:

    int n = raf.readInt();
    System.out.println(raf.getFilePointer());
    System.out.println(n);

    2、raf.seek(0)后面的语句改为:

    byte[] arr = new byte[(int)raf.length()];
    raf.read(arr);
    int n = (int) (arr[0] << 24|arr[1] << 16 | arr[2] << 8 | arr[3]);
    System.out.println(raf.getFilePointer());
    System.out.println(n);