débutant XMLEncoder soucis sérialisation classes
Bonjour ou bonsoir,
Je suis nouveau et débutant, et j'ai un projet à faire en java, mais je bloque un peu sur la sérialisation en XML.
J'aimerais sérialiser en xml de données de classes que j'ai créé, or je n'arrive pas à trouver mon erreur, mon code sérialise les types de donnée simple (Int String, Double) mais dès que je passe à une classe que j'ai créé, j'ai l'exception
Code:
java.lang.InstantiationException
mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
import java.io.*;
import java.beans.XMLEncoder;
public class XMLtest{
Obstacle cube=new Obstacle(500,600,400,500);
//Double cucu=new Double(20.3);
//String cute=new String("okokok");
//DInt dd=new DInt(128,64);
public XMLtest()
{
try
{
XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("Test.xml")));
e.writeObject(cube);
e.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public class DInt implements Serializable{
public int a,b;
public DInt(){a=b=0;}
public DInt(int x){a=b=x;}
public DInt(int x,int y){a=x;b=y;}
public DInt(DInt desEntiers){a=desEntiers.a;b=desEntiers.b;}
}
//classe Obstacle
public class Obstacle implements Serializable{
//x1 : extrémité gauche
//x2 : extrémité droite
//y1 : extrémité haut
//y2 ; extrémité bas
public int x1,x2,y1,y2;
public Obstacle(int x1 , int x2, int y1, int y2)
{
this.x1=x1;
this.x2=x2;
this.y1=y1;
this.y2=y2;
}
public Obstacle(Obstacle obs2)
{
x1=obs2.x1;x2=obs2.x2;y1=obs2.y1;y2=obs2.y2;
}
int getX1(){return x1;}
int getX2(){return x2;}
int getY1(){return y1;}
int getY2(){return y2;}
int getX(){return x1;}
int getY(){return y1;}
int getWidth(){return(x1-x2);}
int getHeight(){return(y2-y1);}
}//fin définition classe Obstacle
public static void main(String[] args)
{
XMLtest test=new XMLtest();
}
} |
voilà, mon problème est certainement trivial mais je bute dessus.
La classe Obstacle est une classe que j'ai déjà utilisé pour un autre programme et qui fonctionne.
Merci d'avance :)