Ho trovato un esempio sul libro che fa ciò che mi serve, ma ho dei problemi:
supponendo di avere sul file questa stringa:
Carlo|rossi|borgomanero|nsacfd@.it|543265|visdita|9|12/12/18|bfds
ho adattato il metodo:
public void parsificaAppuntamento() throws IOException{
try( BufferedReader in = new BufferedReader(new FileReader("fileA.txt"));
){
String linea = in.readLine();
int num = 1;
while(linea!=null) {
String[] campi = linea.split("|");
String nome=campi[0].trim();
String cognome=campi[1].trim();
String città=campi[2].trim();
String email=campi[3].trim();
String numTel=campi[4].trim();
String tipo=campi[5].trim();
String ora=String.valueOf(campi[6].trim());
String data=campi[7].trim();
String luogo=campi[8].trim();
Contatto c = new Contatto(nome, cognome, città, email, numTel);
AppuntamentoContatto a = new AppuntamentoContatto(c, tipo, Integer.parseInt(ora), data, luogo);
appsConts.add(a);
contacts.add(c);
linea = in.readLine();
num++;
}
}catch(Exception e){}
}
Arriviamo al problema: Invece di inserirmi nelle mie variabili nome, cognome ecc i vari tokens, mi inserisce soltanto un carattere: tornando all'esempio nel file, il risultato di questo metodo è nome=c, cognome=a, città=r e così via. Perchè succede questo? Nell'esempio del libro salva nelle variabili l'intera stringa "carlo" ecc.