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.