Java XMLEncodeurEnregistrez l'objet avec,XMLDécodeurrestauré avec
Javaobjet avecFormat XMLPrésentation d'un exemple de programme à enregistrer avec .
Pour la sortie XMLjava.beans.XMLEncoderUtilisez le.
Aussijava.beans.XMLDecoderNous présenterons également un exemple de programme qui l'utilise pour restaurer des objets enregistrés.
exemple de programme
- Les champs déclarés privés sont enregistrés lorsque vous définissez les méthodes getter et setter.
- Seules les modifications apportées aux variables sont enregistrées dans le fichier XML.
- Vous pouvez également spécifier java.util.HashMap, java.util.ArrayList, etc. comme objet à enregistrer. Ceci est utile pour simplement sauvegarder l’état d’un objet.
// Sortie des données d'octet dans un fichier
fileStream = nouveau FileOutputStream(chemin);
fileStream.write(xmlbuff);
fileStream.flush();
} enfin {
si (enc != null) {
enc.close();
}
si (out != null) {
out.close();
}
si (fileStream != null) {
fileStream.close();
}
}
}
/**
* Restaure l'objet à partir du fichier XML au chemin spécifié [chemin].
* *Les fichiers XML doivent être enregistrés à l'aide de java.beans.XMLEncoder.
* @param path Le chemin où l'objet est stocké.
* @throws FileNotFoundException
* Si le fichier indiqué par le nom de chemin spécifié n'existe pas
*/
L'objet statique public readXML (chemin de chaîne) lance FileNotFoundException {
XMLDecoder d = nul ;
essayer {
d = nouveau XMLDecoder (nouveau BufferedInputStream (
nouveau FileInputStream(chemin)));
return d.readObject();
} enfin {
si (d != nul) {
d.close();
}
}
}
*La classe suivante sera utilisée comme échantillon de la classe à sauvegarder.
Résultat de l'exécution
◆Exemple d'exécution
// Restaure l'instance de la classe FreeSoft à partir de XML
FreeSoft freeSoft2 = (FreeSoft)readXML("C:\\FreeSoft.xml");
System.out.println(« Nom du logiciel : »+freeSoft2.getName());
System.out.println("URL:"+freeSoft2.getUrl());
} attraper (Exception e) {
e.printStackTrace();
}
}
◆Résultat de sortie
Nom du logiciel : Chat & Messenger À la fois chat et messager ! ! URL : https://chat-messenger.com/
◆Contenu de C:\\FreeSoft.xml
Points à noter lors de l'utilisation
Les classes java.beans.XMLEncoder et java.beans.XMLDecoder sont utiles, mais lorsqu'elles sont utilisées pratiquement dans Chat&Messenger, dans des cas extrêmement rares, lors de la sortie en XML avec java.beans.XMLEncoder, le fichier devient 0 octet. Confirmation.
Si un fichier de 0 octet est lu, une ParseException sera enregistrée dans la « sortie d'erreur standard ».
La raison en est que le fichier devient vide lorsque l'instance FileOutputStream est créée.
Je pense que cela se produit lorsque le processus Java est arrêté après l'instanciation de FileOutputStream mais avant la sortie des données XML.
En raison de ce problème, Chat&Messenger crée un fichier de sauvegarde pour éviter le problème.