从 CsvtoBean 创建的流在单个元素后完成
Stream created from CsvtoBean finishes after single element
我正在使用 OpenCSV 读取 csv 文件并希望使用 Streams 处理数据。然而,OpenCSV 网站声明他们“在未来许多年内不会使用 Java 8。”所以我想我需要自己修复 Stream 部分。
我可以让 OpenCSV 立即将整个 csv 文件解析为一个列表,然后从该列表创建一个流。这工作正常,但我宁愿让 OpenCSV 在 Stream 实际需要它时解析一行。所以我想我会使用:
CsvToBean<DataElement> elements = new CsvToBeanBuilder<DataElement>(...).withType(DataElement.class).build();
Stream<DataElement> s = StreamSupport.stream(elements.spliterator(), false);
其中 CsvToBean
实现了 Iterable
。但是 Stream 总是在一个项目之后结束。我真的不知道为什么。有人知道吗?
提前致谢。
尝试使用 Iterable CSVToBean,然后看看是否可以 convert the iterator into a Stream 在 Java 8 代码中。
我正在使用 OpenCSV 读取 csv 文件并希望使用 Streams 处理数据。然而,OpenCSV 网站声明他们“在未来许多年内不会使用 Java 8。”所以我想我需要自己修复 Stream 部分。
我可以让 OpenCSV 立即将整个 csv 文件解析为一个列表,然后从该列表创建一个流。这工作正常,但我宁愿让 OpenCSV 在 Stream 实际需要它时解析一行。所以我想我会使用:
CsvToBean<DataElement> elements = new CsvToBeanBuilder<DataElement>(...).withType(DataElement.class).build();
Stream<DataElement> s = StreamSupport.stream(elements.spliterator(), false);
其中 CsvToBean
实现了 Iterable
。但是 Stream 总是在一个项目之后结束。我真的不知道为什么。有人知道吗?
提前致谢。
尝试使用 Iterable CSVToBean,然后看看是否可以 convert the iterator into a Stream 在 Java 8 代码中。