读取ISO-8859-1的RandomAccessFile

时间:2018-09-17 16:59:24

标签: java iso-8859-1 randomaccessfile

我从包含ISO-8859-1字符(åäö)的文件中读取了RandomAccessFile。但是,当在文件上使用seek()和readLine()时,我得到的是aagÃ¥rd 而不是aagård。任何线索,这是为什么?

1 个答案:

答案 0 :(得分:0)

ReadLine不支持javadoc中的UTF格式:https://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html#readLine()

  

从该文件读取下一行文本。先后这种方法   从当前文件指针开始,从文件读取字节,直到   它到达行终止符或文件末尾。每个字节是   通过将低位字节的值转换为字符   字符的八位,并设置字符的高八位   字符为零。因此,此方法不支持完整   Unicode字符集。

改为尝试ReadUTF()

  

从此文件中读取字符串。该字符串已使用   修改后的UTF-8格式。