Если я правильно понимаю проблему, одна проблема с вашим кодом заключается в том, что вы никогда не обновляете переменную fileScannerLine во время зацикливания. Вот фрагмент рабочего кода (с некоторыми незначительными изменениями):
System.out.print("Enter input: ");
Scanner editScanner = new Scanner(System.in);
String editScannerInput = editScanner.nextLine();
System.out.println("");
Scanner fileScanner = new Scanner(new File("src/FilmInfo.dat"));
while (fileScanner.hasNext()) {
String line = fileScanner.nextLine();
if (line.contains(editScannerInput.toLowerCase())) {
String chosenFilm = line;
System.out.println(chosenFilm);
} else {
System.out.println(String.format("The film '%s' is not recognised in your collection, please enter a film name that is in your collection.", line));
}
}
editScanner.close();
fileScanner.close();
Придуманный тестовый файл:
1
2
3
11
22
33
111
222
333
Выход:
1
The film '2' is not recognised in your collection, please enter a film name that is in your collection.
The film '3' is not recognised in your collection, please enter a film name that is in your collection.
11
The film '22' is not recognised in your collection, please enter a film name that is in your collection.
The film '33' is not recognised in your collection, please enter a film name that is in your collection.
111
The film '222' is not recognised in your collection, please enter a film name that is in your collection.
The film '333' is not recognised in your collection, please enter a film name that is in your collection.
Это решение будет перебирать все строки вашего файла и распечатывать каждое совпадение. Если вы ищете одно совпадение или сохраняете все совпадения в списке, код можно легко изменить для этого.