как мне использовать сканер для чтения файлового объекта

#java

#java

Вопрос:

как и вопрос, как я могу использовать файловый объект, взятый из класса File https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/io/File.html

и используйте объект scanner, обернутый вокруг этого, для чтения файла, затем скажите, что в файле содержится пример, подобный этому, Student{name = Jill Gall, age = 21, gpa = 2.98} разделите его на поля, пропустите следующий шаг, так как мне просто нужно вызвать установщики здесь, а затемзатем задайте значения I, чтобы сохранить поля как объект Student, а затем сохранить их в массиве, который я могу вернуть?

На самом деле я не ищу решения всей проблемы, мне просто интересно, каков синтаксис для вызова объекта сканера, обернутого вокруг файлового объекта, для его чтения, я могу использовать substring для захвата полей для разделения и сохранения их в новых полях, и я уверен, чтоЯ могу просто использовать цикл for для загрузки их в массив, который я могу вернуть, единственная причина, по которой я перечислил всю проблему для вас, ребята, чтобы я мог дать вам, ребята, максимально подробную информацию о задаче, которую я могу дать здесь

прямо сейчас моя лучшая попытка — это

 Scanner n = new Scanner(System.in);
n.commandgoeshere?(filename);

  

как мне заставить сканер выводить данные, чтобы я мог взять подстроку и выполнить то, что мне нужно сделать выше?

Комментарии:

1. Вы можете просто использовать метод nextLine .

Ответ №1:

Вы должны предоставить входной поток в конструкторе сканера, при этом вы предоставляете системный входной поток (из консоли) сканеру. Я думаю, что что-то вроде этого — это то, что вы ищете:

     File file = new File("");

    try {
        Scanner scanner = new Scanner(file);
        while (scanner.hasNext()) {
            String nextLine = scanner.nextLine();
            // or use regex ?
            String extractedPattern = scanner.next("some pattern");
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }