Я пытаюсь прочитать строковые значения, разделенные пробелами. Как только я пытаюсь установить их в переменную, я получаю ошибку NoSuchElementException. Я делал подобные вещи раньше, когда вместо этого мне приходилось использовать целые числа, и я никогда не получал эту ошибку. Проведение некоторых исследований: java.util.NoSuchElementException: чтение слов из файла: в нем говорится, что hasNext реализован для работы с next(), а hasNextLine реализован для работы с nextLine(), поэтому я попытался заменить hasNextLine() на hasNext(), но все равно ничего. Кто-нибудь может помочь?
File fileName = new File("maze.txt");
Scanner file = new Scanner(fileName);
while(file.hasNextLine()){
String line = file.nextLine();
Scanner scanner = new Scanner(line);
//error starts from here
String room = scanner.next();
String roomName = scanner.next();
String wall1 = scanner.next();
String wall2 = scanner.next();
String wall3 = scanner.next();
String wall4 = scanner.next();
scanner.close();
}
file.close();
лабиринт.txt
room 101 wall door0 wall wall
room 404 door0 wall door1 wall
room 420 wall wall wall door1
door door0 0 1 close
door door1 1 2 open
Ошибка:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at maze.SimpleMazeGame.main(SimpleMazeGame.java:96)