首页 > 解决方案 > 如何使用扫描仪读取文件对象

问题描述

像我将如何使用从文件类 https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/io/File.html中获取的文件对象的问题

并使用围绕它的扫描仪对象来读取文件,然后说文件中包含这样的示例,Student{name=Jill Gall,age=21,gpa=2.98} 将其分成字段,跳过下一步,因为我只需要在这里调用设置器,然后设置值,然后将字段保存为学生对象,然后将它们保存在我可以返回的数组中?

我并不是真的在这里寻找整个问题的解决方案我只是想知道调用包裹在 File 对象周围的扫描仪对象来读取它的语法是什么,我可以使用子字符串来获取要分隔的字段和将它们保存到新字段中,我很确定我可以使用 for 循环将它们加载到我可以返回的数组中,我为你们列出整个问题的唯一原因是我可以给你们我可以在这里给出的关于任务的最详细信息

现在我最好的尝试是这个

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

我如何让扫描仪输出数据,以便我可以获取子字符串并执行我需要在上面做的事情?

标签: java

解决方案


您必须在扫描仪的构造函数中提供输入流,atm 您正在向扫描仪提供系统输入流(来自控制台)。我认为你正在寻找这样的东西:

    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();
    }

推荐阅读