Untitled
unknown
plain_text
a year ago
3.5 kB
28
Indexable
import java.io.*; import java.util.*; public class Rubrica { private static final String FILE_PATH = "rubrica.csv"; public static void main(String[] args) { try { List<VoceRubrica> rubrica = leggiRubricaDaCSV(); Scanner input = new Scanner(System.in); int scelta; do { System.out.println("1. Inserisci una nuova voce"); System.out.println("2. Cancella una voce"); System.out.println("3. Modifica una voce"); System.out.println("4. Stampa una voce"); System.out.println("5. Stampa tutte le voci in ordine alfabetico"); System.out.println("6. Esci"); System.out.print("Scegli un'opzione: "); scelta = input.nextInt(); input.nextLine(); // Consuma il newline residuo switch (scelta) { case 1: inserisciVoce(rubrica, input); break; case 2: cancellaVoce(rubrica, input); break; case 3: modificaVoce(rubrica, input); break; case 4: stampaVoce(rubrica, input); break; case 5: stampaRubricaOrdinata(rubrica); break; case 6: break; default: System.out.println("Scelta non valida. Riprova."); } } while (scelta != 6); scriviRubricaSuCSV(rubrica); } catch (IOException e) { e.printStackTrace(); } } private static List<VoceRubrica> leggiRubricaDaCSV() throws IOException { List<VoceRubrica> rubrica = new ArrayList<>(); FileReader fileReader = new FileReader(FILE_PATH); BufferedReader bufferedReader = new BufferedReader(fileReader); String line; while ((line = bufferedReader.readLine()) != null) { String[] parts = line.split(","); if (parts.length == 6) { String codice = parts[0]; String cognome = parts[1]; String nome = parts[2]; String indirizzo = parts[3]; String telefono1 = parts[4]; String telefono2 = parts[5]; VoceRubrica voce = new VoceRubrica(codice, cognome, nome, indirizzo, telefono1, telefono2); rubrica.add(voce); } } bufferedReader.close(); return rubrica; } private static void scriviRubricaSuCSV(List<VoceRubrica> rubrica) throws IOException { FileWriter fileWriter = new FileWriter(FILE_PATH); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); for (VoceRubrica voce : rubrica) { String line = String.join(",", voce.getCodice(), voce.getCognome(), voce.getNome(), voce.getIndirizzo(), voce.getTelefono1(), voce.getTelefono2()); bufferedWriter.write(line); bufferedWriter.newLine(); } bufferedWriter.close(); } // Resto del codice rimane invariato come nella versione precedente... }
Editor is loading...