java - 使用Java从文本文件中读取希伯来语

标签 java utf-8 datainputstream

我在读取希伯来语的 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));
}

有什么想法吗?

谢谢, 托默

最佳答案

您在使用 InputStreamReader 时未指定编码,因此它使用您平台的默认编码 - 这很可能不是是 UTF-8。

尝试:

new InputStreamReader(in, "UTF-8")

请注意,这里使用 DataInputStream 的原因并不明显...只需在 FileInputStream 周围创建一个 InputStreamReader 即可。

关于java - 使用Java从文本文件中读取希伯来语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936231/

相关文章:

java - PrintStream 无缘无故出错?

java - Gradle依赖项不适用于同一版本的构建

Python:使用 UnicodeWriter 将 Unicode 写入 CSV

c - UTF-8 字符串大小(以字节为单位)

python - 从 Python 打印到 Heroku 日志时出现 Unicode 错误

java - 为什么在下面的场景中会抛出不同类型的异常?

java - Java中DataInputStream的来回操作

java - 在 Spring 上下文 : DuplicateFieldException 中使用 XStream 时出错

java - 类加载器内存泄漏是否像看上去那么严重?

java - MotionEvent.obtain(…);不像屏幕上的攻丝