2010-04-22 10 views
3

Je n'arrive pas à comprendre comment écrire un arbre de recherche binaire dans un fichier de manière récursive. J'ouvre un BufferWriter avec le fichier à écrire aussi, dans la classe Tree. J'envoie ensuite le BufferWriter à la classe Node pour traverser l'arborescence et écrire dans le fichier. Mais ça ne marche pas.Écrire dans le fichier. (Arbre de recherche binaire)

public void write(String filePath) 
{ 
    if(root != null) { 
    try { 
     BufferedWriter out = new BufferedWriter(new FileWriter(filePath)); 
     root.write(out); 
    } catch (IOException e) { 
    } 
    } 
} 

public void write(BufferedWriter out) 
{ 
    if (this.getLeft() != null) this.getLeft().write(out); 
    out.write(this.data()); 
    if (this.getRight() != null) this.getRight().write(out); 
} 
+0

Veuillez clarifier "ça ne marche pas!" Qu'attendez-vous, que voyez-vous arriver? –

+1

Envisager de gérer le 'IOException', même si juste avec une ligne à' System.err' ou équivalent. Aussi peu probable que vous obteniez une exception, si votre code ne fonctionne pas, il serait difficile d'avaler l'exception en silence. – Etaoin

Répondre

4

Cela ne semble pas si mal! Se pourrait-il que vous manquiez juste le close() sur votre BufferedWriter quand vous avez fini? Le fichier ne sera probablement pas écrit correctement s'il n'y a pas close.

+0

Yup, la fermeture() était le problème merci! – JJRhythm

+0

Merci pour vos commentaires, heureux de vous aider! –