一直以来文件中从来没有出现过中文,使用RandomAccessFile也不是很有问题,之后发现,原来RandomAccessFile读取中文的时候会产生乱码。
究其原因其实很简单,就是RandomAccessFile的readLine方法会将读取上来的文本转换为ISO-8859-1,这样一来,只需将读上来的字符串再进行一次转码就可以了,类似如下形式 new String(randomAccessFile.readline().getBytes("ISO-8859-1"), "utf-8")