From 0d2371070972d8a54223dc723ee961e064017825 Mon Sep 17 00:00:00 2001 From: Andreas <andreksv@ntnu.no> Date: Sun, 19 Mar 2023 18:36:27 +0100 Subject: [PATCH] Made readExpenseRegisterFromFile method --- .../demo/data/Economics/FileHandling.java | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java b/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java index c900c2ba..b38d598d 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java +++ b/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java @@ -28,19 +28,15 @@ public class FileHandling { public List<Income> readIncomeRegisterFromFile(String fileTitle) throws IOException { ArrayList<Income> incomeRegister = new ArrayList<>(); - String description = ""; - double amount = 0; - boolean reoccuring; - String date = ""; - IncomeCategory incomeCategory; try (BufferedReader br = new BufferedReader(new FileReader("src/main/resources/" + fileTitle + ".itemRegister"))) { String line; while ((line = br.readLine()) != null) { if (!line.isEmpty()) { - date = line; - description = br.readLine(); - amount = Double.parseDouble(br.readLine()); - reoccuring = br.readLine().equals("Reoccurring"); + String date = line; + String description = br.readLine(); + double amount = Double.parseDouble(br.readLine()); + boolean reoccuring = br.readLine().equals("Reoccurring"); + IncomeCategory incomeCategory; line = br.readLine(); if (line.equals("SALARY") || line.equals("STUDENT_LOAN") || line.equals("GIFT")) { if (line.equals("SALARY")) { @@ -57,4 +53,31 @@ public class FileHandling { } return incomeRegister; } + + public List<Expense> readExpenseRegisterFromFile(String fileTitle) throws IOException { + ArrayList<Expense> expenseRegister = new ArrayList<>(); + try (BufferedReader br = new BufferedReader(new FileReader("src/main/resources/" + fileTitle + ".itemRegister"))) { + String line; + while ((line = br.readLine()) != null) { + if (!line.isEmpty()) { + String date = line; + String description = br.readLine(); + double amount = Double.parseDouble(br.readLine()); + boolean reoccuring = br.readLine().equals("Reoccurring"); + ExpenseCategory expenseCategory; + line = br.readLine(); + if (line.equals("CLOTHES") || line.equals("FOOD") || line.equals("BOOKS") || line.equals("OTHER")) { + expenseCategory = switch (line) { + case "CLOTHES" -> ExpenseCategory.CLOTHES; + case "FOOD" -> ExpenseCategory.FOOD; + case "BOOKS" -> ExpenseCategory.BOOKS; + default -> ExpenseCategory.OTHER; + }; + expenseRegister.add(new Expense(description,amount,reoccuring,expenseCategory,date)); + } + } + } + } + return expenseRegister; + } } \ No newline at end of file -- GitLab