Ciao sto sviluppando una rubrica in java, per ora è a consolle... Cmq volevo poter salvare i dati su un file per poter ricaricarli ogni volta che voglio...
Però riesco solo a salvare ma poi non riesco a ricaricare i dati e a stamparli...

Vi posto i sorgenti:

File JPhoneBook.java


codice:
import java.io.*;
public class JPhoneBook {
	private String Nome;
	private String Numero;
	
	public JPhoneBook(){}
	
	public JPhoneBook(String Nome, String Numero){
		this.Nome = Nome;
		this.Numero = Numero;
	}
	

	public void aggiungiContatto(JPhoneBook JContact){
		try{ 

			FileOutputStream f = new FileOutputStream("Contatti.dat",true);// true serve per aprire il file in modalità append// 
			ObjectOutputStream fout = new ObjectOutputStream(f); 
			fout.writeObject(JContact.Nome + JContact.Numero); 
			f.close(); 
			}catch(Exception e){
				System.out.print(e);
			}
	}
	
	public static void leggiContatti(){
		JPhoneBook phoneBook;
		
		try{
			FileInputStream fis = new FileInputStream("Contatti.dat");
			ObjectInputStream In = new ObjectInputStream(fis);
			while(true){
				try{
					phoneBook = (JPhoneBook)In.readObject();
					System.out.println(phoneBook.Nome + " " + phoneBook.Numero);
				}catch(EOFException E){
					System.out.println("End of Contact");
					break;
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
}
File JMain.java

codice:
import java.io.*;
public class JMain {

	public static void main(String[] args){

		InputStreamReader In = new InputStreamReader(System.in);
		BufferedReader Input = new BufferedReader(In);
		int selezione;
		String Nome, Numero;
		System.out.println("Premi 1 per aggiungere un contatto - 2 per stampare la lista dei contatti");
		try{
			selezione = Integer.parseInt(Input.readLine());
			if(selezione == 1){
				System.out.println("Inserisci il nome del contatto");
				Nome = Input.readLine();
				System.out.println("Inserisci il numero del contatto");
				Numero = Input.readLine();
				JPhoneBook JContact = new JPhoneBook(Nome, Numero);
				JContact.aggiungiContatto(JContact);
			}
			if(selezione == 2){
				JPhoneBook.leggiContatti();
			}
			
		}catch(IOException E){
			E.printStackTrace();
		}
			
	}

}
Infatti quando chiamo il metodo leggiContatti();
mi da questo errore:
java.lang.ClassCastException: java.lang.String cannot be cast to JPhoneBook
at JPhoneBook.leggiContatti(JPhoneBook.java:34)
at JMain.main(JMain.java:22)