PDA

View Full Version : Serializzazione tipi in Java


Unrue
01-03-2005, 12:02
Sto costruendo un Web Services in Java e ho bisogno di serializzare tipi non primitivi come per esempio il tipo File. Qualcuno sa come si fa? Grazie.

^TiGeRShArK^
01-03-2005, 13:47
vai nella sezione corsi tutorial e faq ke se non sbaglio c'è un corso fatto veramente bene ke spiega la serializzazione

anx721
01-03-2005, 13:53
La classe da serializzare e tutti i suoi membri devono implementare l'interfaccia Serializable,che non ha metodi. Quindi per scrivere un oggetto mio_oggetto:


try{
ObjectOutputStream out =
new BufferedOutputStream(
new FileOutputStream(file));
out.writeObject(mio_oggetto);
out.close();
}
catch (Exception e){
System.out.println(e);
}

per leggere:


MiaClasse mio_oggetto = null;
try{
ObjectInputStream in =
new BufferedInputStream(
new FileInputStream(file));
mio_oggetto = (MiaClasse)in.readObject();
in.close();
}
catch (Exception e){
System.out.println(e);
}

Unrue
01-03-2005, 14:08
Il mio problema pero' non è serializzare un oggetto, in particolare, ma un tipo di oggetto come il tipo File. Mi spego meglio: Sto usando JDev per il Web Sevices. Nella mia classe ho un metodo che mi restituisce un oggetto di tipo File. Già quando genero il web services mi dice che non puo' implementare tale metodo perchè il tipo File non è serializzato. Quindi io cercavo di serializzare non un oggetto in particolare, ma un tipo di oggetto, altrimenti non riesco a creare il web services.

anx721
01-03-2005, 14:20
Ma la classe File implementa Serializable, quindi puoi serializzare un oggetto File senza problemi...che intendi per seralizare un tipo e non un oggetto?

Unrue
01-03-2005, 15:38
Io il file in questione l'ho serializzato e poi lo invio come paramentro ad un metodo che restituisce un byte[]. Ma quando creo il Web Service continua a dirmi che il tipo File di quel metodo non è serializzato. La classe l'ho implementata come Serializable, m ail problema resta

anx721
01-03-2005, 15:49
sinceramente non capisco lo scenario che descrivi

Unrue
01-03-2005, 16:04
Nel mio progetto con il JDev,da una classe Java creo un Web Service che implementa i metodi della classe. Questo Web Service espone i metodi della classe e con un'altra classe Embedded posso interrogarlo e ricevere le informazioni. Il Web Service si interfaccia ad un database. Il problema è nella creazione di questo Web Service, in quanto mi dice che il tipo File, che passo come parametro ad un metodo della classe non è serializzato.