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

Entrée/Sortie Java Discussion :

OutOfMemory lors de l'écriture dans un fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut OutOfMemory lors de l'écriture dans un fichier
    Bonjour à tous,

    J'ai codé une functionnalité qui permet depuis une JTable d'exporter mes données dans le format CSV. Pour cela, j'utilise un BufferedWriter. Le problème de dépacement du Heap survient lorsque j'utilise cette fonctionnalité sur une table avec plusieurs milliers de lignes.

    Ce que je n'arrive pas à comprendre, c'est que le BufferedWriter est censé ne pas garder de trace de ce qu'il a déjà écrit prédécemment dans le fichier. En gros, il écrit petit à petit... et pourtant, sur une table de 3000 lignes, il va réussir à m'écrire entre 1200 et 1600 lignes, puis ensuite, j'ai le OutOfMemory qui intervient...

    Est-ce quelqu'un aurait une idée, une autre méthode... bref, je suis ouvert à toutes suggestions

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    C'est bizarre que le probleme se produise dans BufferedWriter, qui doit travailler a memoire constante.

    Peut être que le problème est ailleurs, par exemple dans la construction d'objets intermédiaires.

    Tu as la Stack quelque part ?

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut
    Non, j'ai malheureusement pas de stack... tout ce que j'arrive à lui faire cracher c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception occurred during event dispatching:
    java.lang.OutOfMemoryError
    D'où ma seconde question, est-ce que le fait que le code soit executé dans le Dispatching thread peut devenir un problème?

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Mischka Voir le message
    D'où ma seconde question, est-ce que le fait que le code soit executé dans le Dispatching thread peut devenir un problème?
    Cela peut te poser problème du fait que cela peut geler ton interface graphique, mais cela n'est en aucun cas la cause d'un OutOfMemory.

    Il faudrait voir le code qui effectue l'export...

    a++

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Par défaut
    Alors j'ai résolu le problème en exécutant l'action d'export dans un autre Thread... et cela fonctionne à la perfection !

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Blocage lors de l'écriture dans un fichier
    Par yoyostras dans le forum Débuter
    Réponses: 7
    Dernier message: 26/06/2007, 15h16
  2. Problème lors de l'écriture dans un fichier.
    Par captainflex dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 16/05/2007, 13h42
  3. Réponses: 8
    Dernier message: 13/11/2006, 11h19
  4. Erreur E/S 32 lors de l'écriture dans un fichier text.
    Par yosthegost dans le forum Delphi
    Réponses: 6
    Dernier message: 01/06/2006, 11h45
  5. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 19h25

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