Итак, мне нужно создать программу, которая вводит текстовый файл с именем пользователя и паролем. Я использую объекты Scanner и File для чтения из файла. Каждая строка user.txt содержит имя пользователя и пароль.NoSuchElementException для сканера файлов Java
users.txt
имя пользователя пароль
String fileName = "users.txt";
try{
File inFile = new File(fileName);
Scanner fin = new Scanner(inFile);
while(fin.hasNextLine()){
System.out.print(fin.next());
}
fin.close();
}
catch(Exception e){e.printStackTrace(); }
Этот код будет выводить имя пользователя только штраф, но затем после текстового файла я получаю «NoSuchElementException». в результате улова. Почему? Данные обрабатываются отлично, так почему бы мне получить исключение такого элемента?
Хорошо, так что я был совершенно сбит с толку объяснение моего программирования профессора о как работают методы объекта Сканер. Я полностью забыл о методах toString. Так ли это работает? nextLine переходит к следующей строке, если она не запрашивает печать и печатает результат, если запрашивается печать? Спасибо, и по какой-то причине ваш другой раздел кода не работал. – user2398026
@ user2398026 Какой из них не работает? Независимо от того, распечатываете ли вы результаты сканера, нет никакой разницы. Ваша проблема заключалась в том, что hasNextLine вернет true, даже если все, что доступно, это конец строки символа последней строки, и в этом случае fin.next() будет генерировать исключение. – Eran