我有一个 FTP 客户端类,它返回指向文件的 InputStream。我想用 BufferedReader 逐行读取文件。问题是,客户端以二进制模式返回文件,并且文件具有 ISO-8859-15 编码。
最佳答案
如果文件/流/任何真正包含 ISO-8859-15 编码的文本,您只需要在创建 InputStreamReader 时指定:
BufferedReader br = new BufferedReader(
new InputStreamReader(ftp.getInputStream(), "ISO-8859-15"));
然后 readLine()
将以 Java 的 native 编码(UTF-16,而不是 UTF-8)创建有效的字符串。
关于java - BufferedReader 返回 ISO-8859-15 字符串 - 如何转换为 UTF16 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069922/