AMD_GO
27-09-2009, 12:38
Salve ragazzi, sto provando a salvare un oggetto in formato xml utilizzando la classe XMLEncoder, ma ho dei problemi. Ecco il codice:
{Questa è la classe Contatto}
import java.io.*;
public class Contatto implements Comparable<Contatto>, Serializable
{
private String nome;
private String cognome;
private String indirizzo;
private String telefono;
private String email;
/**
* Crea un Contatto con Nome, Cognome, Indirizzo, Telefono, Email
*/
public Contatto(String nome, String cognome, String indirizzo, String telefono, String email)
{
this.nome = nome;
this.cognome = cognome;
this.indirizzo = indirizzo;
this.telefono = telefono;
this.email = email;
}
/**
* Crea un contatto vuoto
*/
public Contatto()
{
}
più i metodi get e set per ogni variabile istanza
{Questa è la classe Program, dove viene creata un'istanza della classe Contatto che poi dovrebbe essere salvata in formato xml, cosa che invece non succede}
import java.io.*;
import java.beans.*;
public class Program
{
Contatto c1;
public Program()
{
c1 = new Contatto("Mario", "Rossi", "via", "010", "mario");
}
public void salvaOggettiXML() throws IOException
{
XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("contatti.xml")));
e.writeObject(c1);
e.flush();
e.close();
}
Quando richiamo il metodo salvaOggettiXML() mi da un errore.
java.lang.ClassNotFoundException: Contatto
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Contatto);
Continuing ...
Tuttavia viene creato il file contatti.xml, con intestazione
<?xml versio..........
ma niente di più, il file risulta vuoto....come mai? dove sbaglio?
Grazie a tutti...
{Questa è la classe Contatto}
import java.io.*;
public class Contatto implements Comparable<Contatto>, Serializable
{
private String nome;
private String cognome;
private String indirizzo;
private String telefono;
private String email;
/**
* Crea un Contatto con Nome, Cognome, Indirizzo, Telefono, Email
*/
public Contatto(String nome, String cognome, String indirizzo, String telefono, String email)
{
this.nome = nome;
this.cognome = cognome;
this.indirizzo = indirizzo;
this.telefono = telefono;
this.email = email;
}
/**
* Crea un contatto vuoto
*/
public Contatto()
{
}
più i metodi get e set per ogni variabile istanza
{Questa è la classe Program, dove viene creata un'istanza della classe Contatto che poi dovrebbe essere salvata in formato xml, cosa che invece non succede}
import java.io.*;
import java.beans.*;
public class Program
{
Contatto c1;
public Program()
{
c1 = new Contatto("Mario", "Rossi", "via", "010", "mario");
}
public void salvaOggettiXML() throws IOException
{
XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("contatti.xml")));
e.writeObject(c1);
e.flush();
e.close();
}
Quando richiamo il metodo salvaOggettiXML() mi da un errore.
java.lang.ClassNotFoundException: Contatto
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Contatto);
Continuing ...
Tuttavia viene creato il file contatti.xml, con intestazione
<?xml versio..........
ma niente di più, il file risulta vuoto....come mai? dove sbaglio?
Grazie a tutti...