Java代码错误地读取UTF-8文本

时间:2014-03-10 01:04:40

标签: java utf-8 tokenize hebrew

我在代码中读取UTF-8字符时遇到问题(在Eclipse上运行)。

我有一个文件text,其中有几行,例如:

אך  1234

注意:单词前面有一个\t,单词应该出现在左边,右边的数字......我不知道如何反转它们对不起

即希伯来语,然后是数字。

我需要以某种方式将这个词与数字分开。我试过这个:

        BufferedReader br = new BufferedReader(new FileReader(text));
        String content;

        while ((content = br.readLine()) != null) 
        {
            String delims = "[ ]+";
            String[] tokens = content.split(delims);
        }

问题是由于某种原因,代码读取content(文件中的第一行),如下所示:

אך\t1234

...意味着空间不在正确的位置。

我想我可以使用\t对文本进行标记,但我不确定是否应该这样做,因为文件没有被正确读取...

有没有人知道为什么会这样?

非常感谢: - )

1 个答案:

答案 0 :(得分:1)

我认为你在那里有一个标签时匹配一个空格?

你可以试试这个:

BufferedReader br = new BufferedReader(new FileReader(text));
String content;

while ((content = br.readLine()) != null) 
{
    String delims = "\\s";
    String[] tokens = content.split(delims);
}