0

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

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

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

在哪里CsvToBean实现Iterable。但是 Stream 总是在一个项目之后结束。我真的不知道为什么。有人知道吗?

提前致谢。

4

1 回答 1

0

尝试改用 IterableCSVToBean,然后看看是否可以在 Java 8 代码中将迭代器转换为 Stream

于 2018-06-14T21:13:43.553 回答