我从包含ISO-8859-1字符(åäö)的文件中读取了RandomAccessFile。但是,当在文件上使用seek()和readLine()时,我得到的是aagÃ¥rd 而不是aagård。任何线索,这是为什么?
答案 0 :(得分:0)
ReadLine不支持javadoc中的UTF格式:https://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html#readLine()
从该文件读取下一行文本。先后这种方法 从当前文件指针开始,从文件读取字节,直到 它到达行终止符或文件末尾。每个字节是 通过将低位字节的值转换为字符 字符的八位,并设置字符的高八位 字符为零。因此,此方法不支持完整 Unicode字符集。
改为尝试ReadUTF()
:
从此文件中读取字符串。该字符串已使用 修改后的UTF-8格式。