Я использую OpenCSV для чтения csv-файлов и хотел бы обработать данные с помощью Streams.Однако на сайте OpenCSV говорится, что «они не будут использовать Java 8 в течение многих лет».Поэтому я предполагаю, что нужно исправить часть Stream самостоятельно.
Я могу заставить OpenCSV сразу проанализировать весь csv-файл в List, а затем создать поток из этого List.Это прекрасно работает, но я предпочитаю, чтобы OpenCSV анализировал одну строку, когда потоку это действительно нужно.Поэтому я решил использовать:
CsvToBean<DataElement> elements = new CsvToBeanBuilder<DataElement>(...).withType(DataElement.class).build();
Stream<DataElement> s = StreamSupport.stream(elements.spliterator(), false);
Где CsvToBean
реализует Iterable
.Но поток всегда заканчивается только после одного элемента.Я не могу понять, почему.Кто-нибудь знает?
Заранее спасибо.