diff --git a/src/main/java/StockFileHandler.java b/src/main/java/StockFileHandler.java new file mode 100644 index 0000000..0b1f720 --- /dev/null +++ b/src/main/java/StockFileHandler.java @@ -0,0 +1,50 @@ +import java.nio.file.*; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +public class StockFileHandler { + + // lesing + public List loadStocksFromFile(String filename) throws IOException { + List stocks = new ArrayList<>(); + List lines = Files.readAllLines(Paths.get(filename)); + + for (String line : lines) { + line = line.trim(); + if (line.isEmpty() || line.startsWith("#")) { + continue; + } + + String[] parts = line.split(","); + if (parts.length == 3) { + String symbol = parts[0]; + String name = parts[1]; + BigDecimal price = new BigDecimal(parts[2]); + + stocks.add(new Stock(symbol, name, price)); + } + } + return stocks; // returnerer listen + } + + // lagring + public void saveStocksToFile(String filename, List stocks) throws IOException { + List lines = new ArrayList<>(); + + // header + lines.add("# Ticker,Name,Price"); + + for (Stock stock : stocks) { + // formaterer hver aksje som "SYMBOL,NAME,PRICE" + String line = String.format("%s,%s,%s", + stock.getSymbol(), + stock.getCompany(), + stock.getSalesPrice().toString()); + lines.add(line); + } + + Files.write(Paths.get(filename), lines); + } +} \ No newline at end of file diff --git a/src/main/java/aksjer.csv b/src/main/java/aksjer.csv new file mode 100644 index 0000000..8dfbf02 --- /dev/null +++ b/src/main/java/aksjer.csv @@ -0,0 +1,5 @@ +# Top 500 US Stocks by Market Cap +# Ticker,Name,Price +NVDA,Nvidia,191.27 +AAPL,Apple Inc.,276.43 +MSFT,Microsoft,404.68 \ No newline at end of file