J'ai vu autant de messages différents sur la manière dont vous êtes censé sérialiser un objet dans un fichier, et tous en conflit dans la nature sur la manière de le faire et quelles sont les meilleures pratiques. Voici donc ce que j'essaie d'enregistrer: Nous pouvons supposer que la taille des configurations est connue que je dois créer un fichier, voici ce que j'ai jusqu'à présent. p>
4 Réponses :
Voulez-vous écrire ihandler dans le fichier test.txt? Essayez si vous souhaitez lire ihandler à partir de ce fichier, vous devez faire ce fichier p>
Eh bien, je suppose, vous voulez écrire un objet directement dans le fichier
public static void serializeDataOut(IHandler ish)throws IOException{ String fileName= "Test.txt"; FileOutputStream fos = new FileOutputStream(fileName); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(ish); oos.close(); } public static IHandler serializeDataIn(){ String fileName= "Test.txt"; FileInputStream fin = new FileInputStream(fileName); ObjectInputStream ois = new ObjectInputStream(fin); IHandler iHandler= (IHandler) ois.readObject(); ois.close(); return iHandler; }
Cependant, la classe doit mettre en œuvre sérialisable
Un exemple de comment sérialiser un objet: pour plus d'infos http://docs.oracle.com/javase/tutorial/jndi/Objects/serial.html p> p>
Vous pouvez utiliser XMLDecoder / XMlenCoder pour sérialiser Javabean comme XML. Voici les exemples de Javadocs d'Oracle sur les deux classes:
(xmldecoder) p> (xmlencoder) p> Notez que vous auriez besoin d'ajouter des getters et des setters et de rendre la classe sérialisable. P> p>
Vous devez d'abord décider un format. Binaire? Xml? JSON? Propriétaire?
"Et tous conflit dans la nature sur la façon de le faire et quelles sont les meilleures pratiques." I> La meilleure façon dépend souvent des exigences exactes. La sérialisation de l'objet peut être bonne pour des situations particulières, mais le manque de garantie de la destinaçabilité dans les futurs JRES met des limites sur son utilité. Pour obtenir les meilleures réponses, fournissez plus de contexte. Économisez-vous 1 objet ou 100 000? Est-ce au démarrage / à l'arrêt que la lecture / écriture arrive, par choix de l'utilisateur ou automatiquement toutes les 87 millisecondes?
Cela ne me dérangerait pas que ce soit dans XML, mais si ce n'est pas possible, je pourrais bien l'écrire dans autre chose et tirer simplement l'objet entier plus tard.
Je ne vois aucune question ici.