我正在尝试使用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的所有方面,包括过滤器和捕获异常 .