IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

Ecriture dans un fichier XML de beaucoup beaucoup de données


Sujet :

Persistance des données Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Par défaut Ecriture dans un fichier XML de beaucoup beaucoup de données
    Bonjour,

    je souhaiterais avoir un conseil sur la meilleurs solution a utiliser pour ecrire une grosse quantité de données dans un fichier xml. (taille du fichier xml de qq ko à maxi 1Go)

    perso j'ai pensé a ecrire "ligne a ligne" avec des mecanismes d'ecriture standard en ouvrant et fermant moi meme les balises .... fonctionnel mais pas trop pratique a gérer ....

    si quelqu'un a une piste a me donner je suis preneur.

    Merci d'avance

    Sébastien

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Tout dépend de comment sont structurées tes données dans ton programme... Si ce sont des beans, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void serialize(Object root) {
    		try {
    			XMLEncoder e = new XMLEncoder(new BufferedOutputStream(
    					new FileOutputStream("myfile.xml")));
    			e.writeObject(root);
    			e.close();
    		} catch (FileNotFoundException e1) {
    			e1.printStackTrace();
    		}
    	}

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Par défaut
    ok donc en gros si je dois générer de gros fichiers xml je procedes "a la barbare" sans utilisé d'API specifique ??

    j'ai bon la ?

  4. #4
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    T'en as qui sont déjà présentes dans l'API standard... Il n'y a pas de solution miracle (à mon avis).
    Par exemple, moi j'ai une liste de traces (20 à 30 Mo). Une trace est un bean dans mon appli. Je passe à la méthode ci-dessus ma table de hachage contenant les traces et le tour est joué... Pareil pour la déserialisation (je récup une hashtable)...

  5. #5
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Par contre tu ne risques pas d'avoir les balises qui te conviennent... Java fait ca à sa sauce...
    Donc sinon tu peux passer par un DOM ou JDOM (c'est un API externe à Java celle-là )

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Par défaut
    DOM ou JDOM dans les deux cas l'arbre XML doit etre en memoire, donc ton mon cas ces solutions ne sont pas utilisables... a moins d'avoir 2giga de ram..

    Merci pour tes renseignements et bonne journée

    Seb

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Par défaut
    Peut-être tu pourrais essayer avec XMLBeans... C'est facile et pratique à utiliser, par contre je ne sais pas si c'est gourment en ressource.

  8. #8
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 40
    Par défaut
    Salut
    Est ce que tu aurais trouvé une réponse convenable a ton probleme.
    Je suis dans le meme cas que toi cad je doit en gros serialiser des objets (des graphes avec des centaines de milliers de sommets donc des millions d arcs et des metadonneées) ds des fichier XML .
    Je suis bien d accord avec toi sur l'utilisation de Dom qui est souvent cité.
    Ca va pas non mais j veux pas peter la machine moi !
    Bref pour le moment la seule solution que j ai c est de faire le bourrin et en avant les
    out.write("<boo prop=\""+encode(value)+ "\" />");

    Si vous avez des pistes à partager ce serais formidable.
    Y

  9. #9
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    La solution SAX paraît la plus appropriée... C'est plus rapide que DOM vu qu'il s'agit d'un traitement séquentiel : il suffit de modéliser tous tes objets et d'appliquer pour chacun un traitement de sauvegarde en fichier...

Discussions similaires

  1. Ecriture dans un fichier XML
    Par juju92 dans le forum C#
    Réponses: 2
    Dernier message: 06/02/2008, 12h09
  2. Ecriture dans un fichier XML
    Par stephane.julien dans le forum C#
    Réponses: 2
    Dernier message: 02/11/2007, 17h25
  3. Réponses: 1
    Dernier message: 10/04/2007, 20h59
  4. [C#] Probleme d'écriture dans un fichier XML
    Par Joad dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/05/2005, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo