From a5ed3acfd813496d9736d8b5403336165b2852cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D1=80=D1=88=D0=BE=D0=B2=20=D0=92=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=B8=D1=81=D0=BB=D0=B0=D0=B2?= Date: Sun, 30 Aug 2026 22:38:01 +0700 Subject: [PATCH] refactor: integrate StudentCsvParser into FileDataSource --- .../ru/project/datasource/FileDataSource.java | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/ru/project/datasource/FileDataSource.java b/app/src/main/java/ru/project/datasource/FileDataSource.java index 88de258..62c1d83 100644 --- a/app/src/main/java/ru/project/datasource/FileDataSource.java +++ b/app/src/main/java/ru/project/datasource/FileDataSource.java @@ -12,32 +12,28 @@ import ru.project.collection.MyList; import ru.project.collection.MyLinkedList; public class FileDataSource implements DataSource{ - private String fileName; + private final String fileName; public FileDataSource(String fileName) { this.fileName = fileName; } - public void setFileName(String fileName) { - this.fileName = fileName; - } - @Override public MyList create() { - Path path = Paths.of(fileName); - try(var lines = Files.lines(path)){ - return lines - //.skip(1) - .map(e -> StringParser.parseString(e)) - .filter(e -> !(e == null)) - .collect(Collector.of(MyLinkedList::new, - MyLinkedList::add, - (left, right) -> left; - }catch(FileNotFoundException e){ - System.out.println("File not found."); + MyList resultList = new MyLinkedList<>(); + try { + StudentCsvReader reader = new StudentCsvReader(fileName); + while reader.hasNext() { + result.append(reader.next()); + } + } + catch (IllegalArgumentException e){ + System.out.println(e.getMessage()); + return null; + } + catch (NoSuchElementException e){ + System.out.println("No such element"); return null; - } catch (IOException e) { - throw new RuntimeException(e); } } }