Сканер специальных символов Java

#java #special-characters #java.util.scanner

#java #специальные символы #java.util.scanner

Вопрос:

Как вы можете прочитать специальные символы из файла с классом Java Scanner? Я пытался упомянуть завершение, но это не сработало.

 Scanner scanner = new Scanner(new File("words.txt"), "utf-8");
Scanner lineScanner = null;
while (scanner.hasNextLine()) {
    lineScanner = new Scanner(scanner.nextLine());
    lineScanner.useDelimiter(";");
    String article = lineScanner.next();
    // and so on...
}
// Close the scanners 
  

То, что я пытаюсь прочитать, — это строка, подобная этой:

 "la;leçon;de les;lesòn"
  

Комментарии:

1. Ваша строка может быть прочитана сканером без кодировки!! Вы пробовали это?

2. Что означает «это не работает»? Проблема также может заключаться в том, как вы отображаете данные, которые были прочитаны.

3. Я использую условие while, чтобы проверить, есть ли у сканера следующая строка. Это даже не входит в while. Мои следующие строки: Сканер lineScanner = null; в то время как(scanner.hasNextLine()){ lineScanner = новый сканер(scanner.nextLine()); lineScanner.useDelimiter(«;»); Строка article = lineScanner.next(); … // и так далее } //Закройте сканеры

4. Я решил свою проблему: кодировка была неправильной. Это должно быть: iso-8859-1

5. Обязательно опубликуйте и примите ответ на свой вопрос, в котором точно объясняется, что вы сделали для решения проблемы и почему она возникла с самого начала. Это может помочь другим людям, имеющим ту же проблему.

Ответ №1:

Кодировка символов неверна. Для французского языка это должен быть iso-8859-1.