From 35bf19c5d90dad15cbb3369ca9a3f7644868b9c0 Mon Sep 17 00:00:00 2001 From: Nikollai Date: Wed, 11 Mar 2026 16:28:41 +0100 Subject: [PATCH] Created StockInformationCSVReader --- .../millions/StockInformationCSVReader.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/millions/StockInformationCSVReader.java diff --git a/src/main/java/millions/StockInformationCSVReader.java b/src/main/java/millions/StockInformationCSVReader.java new file mode 100644 index 0000000..ea0fef9 --- /dev/null +++ b/src/main/java/millions/StockInformationCSVReader.java @@ -0,0 +1,38 @@ +package millions; + +import java.io.*; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + + +public class StockInformationCSVReader { + File file; + + public StockInformationCSVReader(File file) { + this.file = file; + } + + public List readFile() { + List stocks = new ArrayList<>(); + try (Reader reader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(reader)) { + List lines = bufferedReader.readAllLines(); + for (String line : lines) { + // Skips comment and blank lines + if ( !(line.startsWith("#") || line.isEmpty()) ) { + String[] data = line.split(","); + // Ensures only fields of the correct length are read + if (data.length == 3) { + String symbol = data[0]; + String company = data[1]; + BigDecimal price = new BigDecimal(data[2]); + stocks.add(new Stock(symbol, company, price)); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return stocks; + } +} \ No newline at end of file