Originariamente inviato da Alex'87
Per poter serializzare un oggetto la sua classe deve implementare java.io.Serializable.
Ad ogni modo quello che hai scritto non ha molto senso, rileggi un attimo cosa ti ha scritto andbin :master:
Allora io ho fatto delle ultime modifiche alla classe JPhoneBook quindi te le posto qua:
codice:
import java.io.*;
public class JPhoneBook {
private String Nome;
private String Numero;
public JPhoneBook(){
InputStreamReader In = new InputStreamReader(System.in);
BufferedReader Input = new BufferedReader(In);
String Nome = null,Numero = null;
try{
System.out.println("Inserisci il nome del contatto");
Nome = Input.readLine();
System.out.println("Inserisci il numero del contatto");
Numero = Input.readLine();
}catch(IOException e){
e.printStackTrace();
}
setNome(Nome);
setNumero(Numero);
}
public void setNome(String Nome){
this.Nome = Nome;
}
public void setNumero(String Numero){
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);
f.close();
}catch(Exception e){
e.printStackTrace();
}
}
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();
}
}
}
E anche nel file JMain.java che è quello contenente il metodo main
Comunque a che punto ti riferisci tra i 2 che ha scritto andbin?
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;
System.out.println("Premi 1 per aggiungere un contatto");
try{
Selezione = Integer.parseInt(Input.readLine());
if(Selezione == 1){
JPhoneBook phoneBook = new JPhoneBook();
}
if(Selezione == 2){
JPhoneBook.leggiContatti();
}
}catch(IOException E){
E.printStackTrace();
}
}
}