import java.beans.*;import java.io.*;public class XMLSerialisationSample { public static void main(String[] args) { // Création des noeuds System.out.println("Affichage avant sérialisation :"); Node root = new Node("Racine"); // Noued racine Node node1 = new Node("Noeud 1"); // D'autres noeuds Node node2 = new Node("Noeud 2"); // Construction de la liste chainée root.attach(node1); node1.attach(node2); // Affichage de notre liste root.printList(); // Enregistrement de nos noeuds à partir de la racine try { XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("TestNode.xml"))); e.writeObject(root); e.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } // Destruction de notre liste node2 = null; node1 = null; root = null; // Lecture (désérialisation) de notre fichier XML try { XMLDecoder d = new XMLDecoder(new BufferedInputStream( new FileInputStream("TestNode.xml"))); root = (Node) d.readObject(); d.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } // Affichage de notre liste System.out.println("Affichage après désérialisation :"); root.printList(); }}... Classe dans son propre fichier public class Node implements Serializable { private Object value; private Node prev; private Node next; public Node() { prev = null; next = null; value = null; } public Node(Object val){ value = val; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } public Node getPrev() { return prev; } public void setPrev(Node prev) { this.prev = prev; } public Object getValue() { return value; } public void setValue(Object value) { this.value = value; } public void attach(Node node){ next = node; node.prev = this; } public boolean isFirst(){ return prev == null; } public void printList(){ Node n = this; while (n != null){ System.out.print(n + "\n"); n = n.next; } } public String toString() { return "<Node> value = " + (value != null ? value : "NULL"); }}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.