从CsvtoBean创建的流在单个元素之后完成

时间:2018-05-28 11:19:16

标签: java stream opencsv

我使用OpenCSV读取csv文件,并希望使用Streams处理数据。然而,OpenCSV网站表示他们未来很多年都不会使用Java 8。'所以我想我自己需要修复Stream部分。

我可以让OpenCSV一次将整个csv文件解析为List,然后从这个List创建一个Stream。这很好,但是当Stream实际需要时,我宁愿让OpenCSV解析一行。所以我以为我会用:

CsvToBean<DataElement> elements = new CsvToBeanBuilder<DataElement>(...).withType(DataElement.class).build();
Stream<DataElement> s = StreamSupport.stream(elements.spliterator(), false);

CsvToBean实施Iterable的地方。但Stream只在一个项目后完成。我无法弄清楚原因。有人知道吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试使用IterableCSVToBean,然后查看您的Java 8代码中是否可以convert the iterator into a Stream