Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java从文本文件中读取希伯来语_Java_Utf 8_Datainputstream - Fatal编程技术网

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

用Java从文本文件中读取希伯来语,java,utf-8,datainputstream,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 whil

我在阅读希伯来文的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

您使用的是InputStreamReader,但没有指定编码,因此它使用的是您平台的默认值-可能不是UTF-8

尝试:


请注意,这里使用
DataInputStream
的原因并不明显。。。只要在
文件inputstream
周围创建一个
inputstream阅读器

他真的有可能使用与UTF-8兼容的默认编码,除了字符“מ”和“א”之外吗?@jarnbjo:我不知道,但这是最明显的起点,而且肯定是我要采取的第一步。为什么这么明显?如果他不使用UTF-8作为默认编码,那么读取带有希伯来语字符的UTF-8编码文件将产生垃圾,而不仅仅是一些被误解的字符。@jarnbjo:当他期望某个特定的编码时,不指定编码显然是一件坏事,这就是我的意思。通过指定字符集,代码肯定会得到改进,它可能会解决问题。@tomericco:它不应该改变任何东西。听起来你的诊断方式可能有问题。。。如果它肯定是UTF-8,那么这就是你应该指定的。如果您将文件加载到另一个指定UTF-8的文本编辑器(而不是记事本)中,该操作是否有效?您阅读的是什么而不是“מ”和“א”?这两个字母中的每一个都有一个正方形和一个问号。例如-“?ם”请不要使用DataInputStream来阅读文本。不幸的是,像这样的示例会被一次又一次地复制,所以您可以将其从示例中删除。
new InputStreamReader(in, "UTF-8")