RandomAccessFile.readLine()读取文件乱码

RandomAccessFile.readLine(): 很有可能会产生乱码。因为它是每读取一个byte就将其转化为char,再将char拼接称为String。对于一个中文,就需要2个byte或者多个byte来表示(不同的编码采用的byte数目不一样),假设为3个byte,那么raf.readLine()则将该中文视为单独的3个char。

应当使用

知道该行的开始和该行的结束(即在两个‘\n’)的指针位置。

通过raf.read(byte[] bs), new String(bs)的方式来获得字符串。

 

你可能感兴趣的:(C++,c,C#)