From 68a6ba1adb0eeef872795617144cc94f37178c9c Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 13 Jan 2026 21:24:06 +0100 Subject: [PATCH] Lettura numeriContiCorrenti + modifica log --- src/mybank/ContoCorrente.java | 6 ++++-- src/mybank/MyBank.java | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/mybank/ContoCorrente.java b/src/mybank/ContoCorrente.java index acaf4e4..1dea983 100644 --- a/src/mybank/ContoCorrente.java +++ b/src/mybank/ContoCorrente.java @@ -22,8 +22,6 @@ public class ContoCorrente { private static ArrayList numeriContiCorrenti = new ArrayList<>(); - - public ContoCorrente(String nome, String cognome, String codiceFiscale, Date dataDiNascita, double saldo, int numeroContoCorrente) { this.nome = nome; @@ -40,6 +38,10 @@ public class ContoCorrente { return numeriContiCorrenti; } + public static void setNumeriContiCorrenti(List numeriContiCorrenti) { + ContoCorrente.numeriContiCorrenti = (ArrayList)numeriContiCorrenti; + } + public int getNumeroContoCorrente() { return numeroContoCorrente; } diff --git a/src/mybank/MyBank.java b/src/mybank/MyBank.java index 914a27a..9af2f34 100644 --- a/src/mybank/MyBank.java +++ b/src/mybank/MyBank.java @@ -87,12 +87,12 @@ public class MyBank { pausa(); break; default: - System.out.println("Opzione non valida."); + System.out.println(ERRORE_GENERICO); pausa(); break; } } catch (InputMismatchException _) { - System.out.println("Errore: scelta non valida."); + System.out.println(ERRORE_GENERICO); pausa(); } } while (scelta != 0); @@ -110,13 +110,15 @@ public class MyBank { if (percorsoConti.exists() && percorsoConti.listFiles().length != 0) { for (File conto : percorsoConti.listFiles()) { - StringBuilder sb = new StringBuilder(); if (conto.getName().substring(conto.getName().lastIndexOf(".")).equals("json")) { try (BufferedReader bf = new BufferedReader(new FileReader(conto))) { - for (String rigaJSON : bf.readAllLines()) { - sb.append(rigaJSON); - } - conti.add(mapper.readValue(sb.toString(), ContoCorrente.class)); + + conti.add(mapper.readValue(bf.readAllAsString(), ContoCorrente.class)); + + ArrayList numeriContiCorrenti = (ArrayList) ContoCorrente.getNumeriContiCorrenti(); + numeriContiCorrenti.add(conti.getLast().getNumeroContoCorrente()); + ContoCorrente.setNumeriContiCorrenti(numeriContiCorrenti); + } catch (Exception _) { System.out.println("Errore nella lettura del file di conto corrente."); } @@ -297,7 +299,7 @@ public class MyBank { StringBuilder sb = new StringBuilder(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.sss dd/MM/yyyy"); try (BufferedWriter bw = new BufferedWriter( - new FileWriter(PATH_CONTI + "movimenti_" + numeroContoCorrente + ".txt"))) { + new FileWriter(PATH_CONTI + "movimenti_" + numeroContoCorrente + ".txt", true))) { sb.append("["); sb.append(sdf.format(new Date())); sb.append("] ");