#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.