我有一个FTP客户端类,它返回指向文件的InputStream.我想用BufferedReader逐行读取文件.问题是,客户端以二进制模式返回文件,并且该文件具有ISO-8859-15编码.
如果文件/流/无论真正包含ISO-8859-15编码文本,您只需在创建InputStreamReader时指定:
BufferedReader br = new BufferedReader( new InputStreamReader(ftp.getInputStream(), "ISO-8859-15"));
然后readLine()将使用Java的本机编码(UTF-16,而不是UTF-8)创建有效的字符串.
翻译自:https://stackoverflow.com/questions/1069922/bufferedreader-returns-iso-8859-15-string-how-to-convert-to-utf16-string