我在阅读希伯来文的UTF-8编码文本文件时遇到了麻烦。 我成功地阅读了所有希伯来字符,除了两个字母='מ'和'א'。
以下是我的阅读方式:
FileInputStream fstream = new FileInputStream(SCHOOLS_LIST_PATH);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
// Read File Line By Line
while ((strLine = br.readLine()) != null) {
if(strLine.contains("zevel")) {
continue;
}
schools.add(getSchoolFromLine(strLine));
}
有什么想法吗?
谢谢, Tomer的
答案 0 :(得分:4)
您正在使用InputStreamReader而未指定编码,因此它使用您平台的默认值 - 可能不为UTF-8。
尝试:
new InputStreamReader(in, "UTF-8")
请注意,您在DataInputStream
处使用InputStreamReader
的原因并不明显......只需在FileInputStream
周围创建一个{{1}}。