diff --git a/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java b/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java index 85cca03..aa5feb5 100644 --- a/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java +++ b/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java @@ -2,8 +2,11 @@ package ru.project.ui.creation.file; import java.io.IOException; import java.nio.file.Path; -import ru.project.collection.MyLinkedList; +import java.util.Spliterator; +import java.util.Spliterators; +import java.util.stream.StreamSupport; import ru.project.collection.MyList; +import ru.project.collectors.MyCollectors; import ru.project.io.StudentCsvReader; import ru.project.student.Student; import ru.project.ui.creation.FillStrategy; @@ -18,20 +21,16 @@ public class FileFillStrategy implements FillStrategy { @Override public MyList create() { - MyList collection = new MyLinkedList<>(); - Path path = Path.of(settings.getAbsoluteFilePath()); try (StudentCsvReader reader = new StudentCsvReader(path)) { - while (reader.hasNext()) { - collection.add(reader.next()); - } + return StreamSupport.stream( + Spliterators.spliteratorUnknownSize(reader, Spliterator.ORDERED), false) + .collect(MyCollectors.toMyList()); } catch (IOException e) { throw new RuntimeException("Не удалось прочитать коллекцию из файла.", e); } - - return collection; } }