PDA

Visualizza la versione completa : [JAVA] salvare un vector in un file e recuperarlo


ale500
02-02-2005, 18:56
salve a tutti e grazie dell'attenzione. :)

da come potrete ben capire dall'oggetto mi servono, se possibile, in Java 2 funzioni, la prima dato un Vector me lo salva in un file di testo, e la seconda dato un file di testo me lo mette in un vector, grazie dell'aiuto....

confido in voi e in java...grazie.

netarrow
02-02-2005, 19:11
con la serializzazione, ecco due metodi:

Scrivi:



public void save(Vector v, String dir) throws Exception {
FileOutputStream fos = new FileOutputStream(dir);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(v);
oos.flush();
oos.close();
fos.close();
}


Leggi:



public Vector carica(String path) throws Exception {
FileInputStream fis = new FileInputStream(dir);
ObjectInputStream ois = new ObjectInputStream(fis);
Vector v = (Vector) ois.readObject();
ois.close();
fis.close();
return v;
}


:ciauz:

LeleFT
02-02-2005, 19:32
Aggiungo solo una cosa: devi accertarti che anche gli oggetti contenuti nel Vector implementino l'interfaccia Serializable, altrimenti otterrai un'eccezione in fase di esecuzione, nel momento in cui salverai il Vector.


Ciao. :ciauz:

ale500
02-02-2005, 19:43
perfetto....

fare in modo che implementi l'interfaccia Serializable penso non sia difficile (in fondo basta che aggiunga le paroline magiche dopo il nome della classe implements Serializable )

ora avrei un altro problema...dentro questo vettore sono memorizzati degli oggetti della mia classe Aula, la classe Aula ha delle proprietÓ quali esempio NomeAula etc...

dovrei fare in modo che un vettore mi si ordini ad esempio per aula....come posso fare....???

devo analizzare il vettore e poi copiarmelo in un altro oppure esiste unh metodo migliore (ad esempio spostare le posizioni del Vector, etc)

fatemi sapere, grazie del vostro aiuto... :fagiano:

LeleFT
02-02-2005, 21:18
Puoi far implementare alla tua classe l'interfaccia Comparable, quindi implementare il metodo compareTo() in modo da definire un tuo ordinamento sugli oggetti della classe.

Controlla la documentazione dell'interfaccia Comparable (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Comparable.html) , trovi tutto il necessario.

Una volta fatto questo, puoi dare in pasto le tue classi alla classe Arrays la quale permette di ordinarle utilizzando, appunto, il metodo di questa interfaccia.


Ciao. :ciauz:

Loading