ciao DeAndreon grazie per la risposta allora io ho fatto in questo modo:
Per il salvataggio:
public void salvaFile(String percorso) throws IOException {
FileOutputStream fos = new FileOutputStream(percorso);
ObjectOutputStream oos = new ObjectOutputStream(fos);
Iterator it;
it = hashMap.values().iterator();
Contatto c;
while(it.hasNext()){
c=it.next();
oos.writeObject(c.getNome()+";"+c.getMail()+";"+c.getTelefono()+"\n");
}
}
e sembri che funzioni.
ora per il caricamento del file, non potendo utilizzare la readLine() di BufferedReader ho il problema di capire quanti record sono inseriti nel file come posso fare?? mi sapresti dire come posso fare...GRAZIE
No, non ci siamo. Così alla fine ti ritrovi di nuovo un file di testo. Tu devi salvare l'oggetto, ovvero il Contatto. Se tu apri un file serializzato troverai simboli incomprensibili che sono invece l'oggetto in memoria. Invece facendo così penso che ti ritrovi in file di testo.
Per fare come hai fatto tu a writeObject() gli devi passare c ovvero il Contatto corrente.
Così con l'iterator si scansiona la hashmap e si mettono gli oggetti Contatto contenuti nella hashmap su file.
Per il caricamento la vedo difficilotta.
Io in genere salvo un oggetto contenente la struttura dati così da caricare un oggetto solo (vedi mio esempio). Così, a caricare i singoli oggetti da file in una struttura non l'ho mai provato. Ci dovrei pensare su...