我正在使用 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 总是在一个项目之后结束。我真的不知道为什么。有人知道吗?
提前致谢。