В моем учебнике написано следующее:
Вы также можете использовать класс Scanner для чтения входных данных из файла. Вместо передачи System.in конструктору класса Scanner вы передаете ссылку на объект File. Вот пример:
File myFile = new File("Customers.txt");
Scanner inputFile = new Scanner(myFile);
Первая инструкция создает экземпляр класса File. Класс File находится в Java API и используется для представления файла. Обратите внимание, что мы передали конструктору строку Customers.txt. При этом создается объект File, представляющий файл Customers.txt.
Во втором операторе мы передаем ссылку на этот объект File в качестве аргумента конструктору класса Scanner. При этом создается объект Scanner, который использует файл Customers.txt в качестве источника входных данных.
Мой вопрос: я не могу понять, зачем нам нужен объект File? Разве мы не можем написать приведенный выше код, как показано ниже, для чтения файлов?
Scanner inputFile = new Scanner("Customers.txt");
Если Java нуждается в объекте File и объекте Scanner, как именно он работает?