Untitled
unknown
plain_text
2 years ago
3.5 kB
31
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...