sérialisation d'une liste d'objets dans un fichier en java
J'ai une liste d'environ 20 000 objets, qui, à leur tour, ont un très vaste hiérarchie. J'ai besoin de vider les objets dans un fichier, afin que je puisse le lire plus tard à tout moment au cours de mon processus. Maintenant, mon problème est que j'ai travaillé sur Java, mais pas tant que ça sur la sérialisation et je n'ai pas beaucoup de connaissances sur la façon de le faire.
Dans ce cas, autant que je sache, je besoin pour utiliser la Sérialisation ane De-la Sérialisation. Quelqu'un peut s'il vous plaît aider. Aussi je peux utiliser les nouvelles API ou normale de la Sérialisation Java.
Ce qui concerne.
Pourquoi avez-vous besoin de vider les objets dans un fichier? Pouvez-vous utiliser une DB à la place?
OriginalL'auteur M.J. | 2011-11-29
Vous devez vous connecter pour publier un commentaire.
Regardez ce lien http://www.java2s.com/Code/Java/File-Input-Output/Objectserialization.htm
C'est quelque chose comme ceci:
N'oubliez pas de mettre en œuvre l'interface Serializable dans toutes les classes que vous souhaitez enregistrer
et mettre modificateur "transitoire" à tous les champs que vous ne souhaitez pas enregistrer.
(par exemple, un soldat transitoire Liste cache;)
OriginalL'auteur Stanislav Levental
Plutôt que de sauver chaque objet individuellement, vous pouvez directement enregistrer la liste d'objets. Je suis à l'aide de code ci-dessous pour atteindre cet objectif. Même si je suis de la sérialisation pour le clonage, il devrait être suffisant pour apprendre les bases.
UnmodifiableCollection
, et ce code est-il simple. Propre, direct et facile à comprendre. Je ne comprends pas comment il n'avait pas tout vote comme il le fait exactement ce que le titre de la question.Probablement, car il n'a pas sérialiser dans un Fichier, comme le titre.
OriginalL'auteur user2537119
JSON est à la mode récemment, donc vous pouvez l'utiliser. Jackson est une belle api JSON de sérialisation/désérialisation. En bonus, vous avez l'interopérabilité avec d'autres plates-formes.
Si vous n'êtes pas peur de l'utilisation de xml JAXB
Bien sûr, vous pouvez toujours utiliser la sérialisation binaire, mais l'OMI texte est plus facile à gérer que des gouttes.
OriginalL'auteur soulcheck
ci-dessous est le code à écrire des objets de fichiers à l'aide de XMLEncoder, en supposant que votre objet implémente l'Interface Serializable.
Ci-dessous est le code à deserializ les Données
OriginalL'auteur Ali
Je vous donne un exemple de
D'écriture et de lecture de l'objet
readObject()
méthode de lecture d'un objet dans une variable locale, puis renvoie unboolean
plutôt que la variable n'est pas beaucoup d'utilisation. L'appel deavailable()
n'est pas beaucoup utiliser, et plus précisémentavailable() == 0
n'est pas un test valide pour les expressions du FOLKLORE. Vous devriez vous contenter de boucle d'appelreadObject()
jusqu'àEOFException
est levée.Je viens d'écrire sur un cas simple. Je boucle et de les imprimer. readObject est ma propre fonction, pas un java. @EJP
Je vais le dire encore plus clairement. Un
readObject()
méthode qui ne retourne pas de l'objet qui a été lu est complètement inutile. Les autres objections demeurent.ok merci :)) mais je suis heureux maintenant, parce que je l'ai écrit quand j'ai étudié java, merci pour les commentaires ^^.
OriginalL'auteur hungneox