Untitled

mail@pastecode.io avatar
unknown
plain_text
6 months ago
3.5 kB
21
Indexable
Never
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...
}