我正在尝试使用OpenCSV库 . 我使用类CsvToBean将bean映射到.csv文件中的行 . 方法 csvToBean.iterator() 只返回一个只有一个项的迭代器 .

有没有人知道我如何使用迭代器只返回单个项目,以便遍历集合中的所有项目?

Iterator<VerifyMailRequest> readIntoBeans(File file) throws IOException {
    Iterator<VerifyMailRequest> iterator;

    try (Reader reader = Files.newBufferedReader(file.toPath())) {
        CsvToBean<VerifyMailRequest> csvToBean = new CsvToBeanBuilder(reader)
                .withType(VerifyMailRequest.class)
                .withSeparator(',')
                .withQuoteChar('"')
                .withIgnoreLeadingWhiteSpace(true)
                .build();

        iterator = csvToBean.iterator();
    }

    return iterator;
}

方法iterator()的文档说明:

此方法返回的迭代器一次接受一行输入并一次返回一个bean . 这种方法的优点是节省内存 . 成本是并行处理的损失,降低了吞吐量 . 迭代器尊重CsvToBean的所有方面,包括过滤器和捕获异常 .