Ciao a tutti, o un problema con i file su java:
Ho un programma che memorizza in un arrayList una serie di campi. Ho poi un file che contiene alcuni elementi dello stesso tipo dell'arrayList e dovrei riuscire a leggere il file e inserire il contenuto del file nel mio arrayList.
Sul file ho il seguente formato:

Carlo|rossi|roma|nsacfd@.it|543265|visita|9|12/12/18|ufficio

Per parsificare questi campi ho preso un esempio da un libro che fa proprio la stessa cosa di cui ho bisogno:


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.