把int型数据写入了txt文件,按字符串数据读取时出现了乱码,为什么?
因为你写的时候是一个字节一个字节写的,所以读的时候也要一个字节一个字节读。(我不确定是不是这个原因)
两种方式可以正常读到:
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);