Как правильно прочитать арабский набор данных в Java? - PullRequest
0 голосов
/ 20 июня 2019

Сценарий: Я хочу прочитать набор данных на арабском языке с кодировкой utf-8 .Каждое слово в каждой строке разделяется пробелом.


Проблема: Когда я читаю каждую строку, вывод:

??????????????????


Вопрос: Как прочитать файл и напечатать каждую строку?для получения дополнительной информации здесь - это мой арабский набор данных, и часть моего исходного кода, который считывает данные, будет выглядеть следующим образом:

private ContextCountsImpl extractContextCounts(Map<Integer, String> phraseMap) throws IOException {
        Reader reader;
        reader = new InputStreamReader(new FileInputStream(inputFile), "utf-8");
        BufferedReader rdr = new BufferedReader(reader);
        while (rdr.ready()) {
            String line = rdr.readLine();
            System.out.println(line);
            List<String> phrases = splitLineInPhrases(line);
            //any process on this file
        }
}

1 Ответ

0 голосов
/ 20 июня 2019

Я могу читать, используя UTF-8, Можете ли вы попробовать, как это.

public class ReadArabic {
    public static void main(String[] args) {
        try {
            String line;
            InputStream fileInputStream = new FileInputStream("arabic.txt");
            Reader reader = new InputStreamReader(fileInputStream, "UTF-8"); // leave charset out for default
            BufferedReader bufferedReader = new BufferedReader(reader);
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            System.err.println(e.getMessage()); // handle all exceptions
        }
    }
}

Output

...