Hello,
J'utilise maintenant un XMLEncoder pour créer mon XML de configuration.
J'ai un Object:
Ensuite, je créé le XML avec cette méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Config01{ private boolean booleanP = false; private Boolean booleanS = false; private byte byteS = 0; private Byte byteP = 0; private short shortS = 0; private Short shortP = 0; private int integerS = 0; private Integer integerP = 0; private long longS = 0; private float floatS = 0; private double doubleS = 1.0; private Double doubleP = 1.0; private String string = "aaa"; private int[] tabIntP = {1,2,3}; private Double[] tabDoubleS = {1.1,2.2,3.3}; private String[] tabString = {"I","am","nothing"}; public Config01() { } }
Seulement mon problème est que si je l'appel comme ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public static void createDefaultXML(String fileName, Object configurationObject) throws FileNotFoundException{ XMLEncoder encoder = new XMLEncoder(new FileOutputStream(fileName)); try { encoder.writeObject(configurationObject); System.out.println("Fichier créé"); } finally { encoder.close(); } }ça ne me créé rien dans le XML. Ca me donne ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part createDefaultXML("output.xml",new Config01());
Il faut que je spécifie les valeurs par défaut avant de créer le XML, comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8"?> <java version="1.6.0_01" class="java.beans.XMLDecoder"> <object class="Config01"/> </java>
et là c'est nickel!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Config01 config01 = new Config01(); config01.setBooleanP(true); config01.setBooleanS(true); config01.setByteP((byte)5); config01.setByteS((byte)6); config01.setDoubleP((double)45); config01.setDoubleS((double)46); config01.setFloatS((float)5.2); config01.setIntegerP(456); config01.setIntegerP(47); config01.setLongS(8); config01.setShortP((short)22); config01.setShortS((short)23); config01.setString("OK"); config01.setTabDoubleS(new Double[] {(double)1,(double)2,(double)3,(double)4,(double)5,(double)6}); config01.setTabIntP(new int[] {9,8,7,6,5}); config01.setTabString(new String[] {"I","am","an","array","!"}); Configuration.createDefaultXML("output.xml",config01);
Mais moi je veut pas devoir faire ca, je veux qu'il prenne les valeures par défaut de l'objet... Comment je peux faire?
Je suis assez clair??
Merci d'avance!
A+
Partager