luxorl
03-03-2006, 16:24
Ciao :)
il mio problema è il seguente,
ho creato l'oggetto Giocatore, questo oggetto contiene tre variabili:
-String ID
-String Password
-int Saldo
la classe Giocatore implementa Serializable, e ho dichiarato transient la Password.
Ora il mio obiettivo è creare un insieme di Giocatori, quindi mi sono creato la classe ListaGiocatori che basandosi su un HashSet di java.util crea e gestisce l'aggiunta e la rimozione di giocatori.
Vorrei ora far in modo di savare su un file questa lista ogni volta che chiudo il mio programma, però senza rendere la password leggibile sul file.
Ho quindi creato un metodo salva nella classe ListaGiocatori che aiutandosi con un Iteratore sul hashSet salva gli oggetti contenuti nel set attraverso un FileOutputStream e un ObjectOutputStream. ecco il codice...
public void salva() throws IOException{
TreeSet elencoOrdinato=new TreeSet<Giocatore>(elenco);
FileOutputStream f=new FileOutputStream("Elenco.txt");
Iterator it=elencoOrdinato.iterator();
ObjectOutputStream os=new ObjectOutputStream(f);
while(it.hasNext()){
os.writeObject(it.next());
}
os.flush();
os.close();
}
fin qui sembra tutto ok.. i problemi li ho in fase di ripristino..
come strutturare il metodo ripristina per far si che dal file riottengo il Set di Giocatori con le loro password?
usando FileInputStream e ObjectInputStream? ma come faccio a distinguere gli oggetti salvati? per poi aggiungerli al Set? (che poi farò ritornare al metodo)
Spero di essere stato chiaro.. anche se non credo proprio :stordita:
in ogni caso grazie :mano: a chi mi darà una mano!
il mio problema è il seguente,
ho creato l'oggetto Giocatore, questo oggetto contiene tre variabili:
-String ID
-String Password
-int Saldo
la classe Giocatore implementa Serializable, e ho dichiarato transient la Password.
Ora il mio obiettivo è creare un insieme di Giocatori, quindi mi sono creato la classe ListaGiocatori che basandosi su un HashSet di java.util crea e gestisce l'aggiunta e la rimozione di giocatori.
Vorrei ora far in modo di savare su un file questa lista ogni volta che chiudo il mio programma, però senza rendere la password leggibile sul file.
Ho quindi creato un metodo salva nella classe ListaGiocatori che aiutandosi con un Iteratore sul hashSet salva gli oggetti contenuti nel set attraverso un FileOutputStream e un ObjectOutputStream. ecco il codice...
public void salva() throws IOException{
TreeSet elencoOrdinato=new TreeSet<Giocatore>(elenco);
FileOutputStream f=new FileOutputStream("Elenco.txt");
Iterator it=elencoOrdinato.iterator();
ObjectOutputStream os=new ObjectOutputStream(f);
while(it.hasNext()){
os.writeObject(it.next());
}
os.flush();
os.close();
}
fin qui sembra tutto ok.. i problemi li ho in fase di ripristino..
come strutturare il metodo ripristina per far si che dal file riottengo il Set di Giocatori con le loro password?
usando FileInputStream e ObjectInputStream? ma come faccio a distinguere gli oggetti salvati? per poi aggiungerli al Set? (che poi farò ritornare al metodo)
Spero di essere stato chiaro.. anche se non credo proprio :stordita:
in ogni caso grazie :mano: a chi mi darà una mano!