当前位置: 首页 > 面试题库 >

使用Scanner类时如何忽略.txt的第一行

唐阳晖
2023-03-14
问题内容

我有一个文本文件,内容为:

Description|SKU|Retail Price|Discount
Tassimo T46 Home Brewing System|43-0439-6|17999|0.30
Moto Precise Fit Rear Wiper Blade|0210919|799|0.0

我已经了解了所有内容,并且一切运行正常,但事实是它读取了第一行,这是.txt文件的一种图例,必须将其忽略。

public static List<Item> read(File file) throws ApplicationException {
    Scanner scanner = null;
    try {
        scanner = new Scanner(file);
    } catch (FileNotFoundException e) {
        throw new ApplicationException(e);
    }

    List<Item> items = new ArrayList<Item>();

    try {
        while (scanner.hasNext()) {
            String row = scanner.nextLine();
            String[] elements = row.split("\\|");
            if (elements.length != 4) {
                throw new ApplicationException(String.format(
                        "Expected 4 elements but got %d", elements.length));
            }
            try {
                items.add(new Item(elements[0], elements[1], Integer
                        .valueOf(elements[2]), Float.valueOf(elements[3])));
            } catch (NumberFormatException e) {
                throw new ApplicationException(e);
            }
        }
    } finally {
        if (scanner != null) {
            scanner.close();
        }
    }

    return items;
}

如何使用Scanner类忽略第一行?


问题答案:

在进行任何处理之前,只需调用一次scan.nextLine()即可解决问题。



 类似资料:
  • 问题内容: 我正在研究一个Java程序,该程序逐行读取文本文件,每个文本文件都有一个数字,将每个数字都将其扔到数组中,然后尝试使用插入排序对数组进行排序。我需要有关程序读取文本文件的帮助。 我收到以下错误消息: 我的“ src”,“ bin”和主项目文件夹中有.txt文件的副本,但仍找不到该文件。我正在使用Eclipse。 问题答案: 你必须把文件扩展名放在这里

  • 问题内容: 我正在尝试为api 编写Web服务。因此,我编写了一个MyLogRecord类,该类继承自LogRecord。我用JAX- B注释对此类进行了注释,包括,因此它将忽略未注释的字段和属性。当我启动tomcat时,出现错误,并且其他类没有默认的构造函数,但是没有带注释的方法对Level类或任何其他类进行任何引用。这些由父类引用。 我的子类具有需要定义的所有内容。如何使JAX-B完全忽略父类

  • 第七章 如何使用Burp Scanner Burp Scanner的功能主要是用来自动检测web系统的各种漏洞,我们可以使用Burp Scanner代替我们手工去对系统进行普通漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上。 在使用Burp Scanner之前,我们除了要正确配置Burp Proxy并设置浏览器代理外,还需要在Burp Target的站点地图中存在需

  • 问题内容: 我要Python从一列CSV数据中打印最少的数字,但是第一行是列号,我不希望Python将第一行考虑在内。如何确定Python忽略第一行? 到目前为止,这是代码: 你还能解释你在做什么,而不仅仅是给出代码吗?我对Python非常陌生,并希望确保我了解所有内容。 问题答案: 你可以使用模块类的实例来推断CSV文件的格式,并检测是否存在标头行以及仅在必要时才跳过第一行的内置函数: 由于在你

  • 我要求Python从CSV数据列中打印最小数量,但最上面的行是列号,我不希望Python考虑最上面的行。我如何确保Python忽略第一行? 这是目前为止的代码: 你能解释一下你在做什么,而不仅仅是给出代码吗?我对Python非常陌生,希望确保我了解所有内容。

  • 我编写了我的第一个ArchUnit测试: 这个项目是用Maven构建的,所以类在不同的目录中。 将名称以“tests”或其他东西结尾的类分开是不够的,因为有许多类不是测试,而是只存在于测试类路径中。