Remplissage d'un arbre de recherche binaire avec un fichier texte

Je suis en train de remplir un arbre de recherche binaire avec un fichier texte, mais je vais avoir beaucoup de mal à mettre mon insérer une fonction. Suis-je la lecture de l'entrée correctement ou est-ce mon code?

Code pour la lecture de fichier:

import java.io.*;
import java.util.Scanner;

public class Driver {
    public static void main(String[]args) throws IOException
    {
        //Checks if there is a correct number of arguments passed through the command line.
        if (args.length != 1)
        {
            quitError("Tree command word arguments expected");
        } 

        String inputFile = args[0];
        BST btree = new BST();  

        try
        {
            BufferedReader input = new BufferedReader(new FileReader(inputFile));

            //Scans each word from the input and prints it out
            String word = input.readLine();
            while (word != null)
            {
                btree.insert(word);
                word = input.readLine();
            }
            return;

        } catch(FileNotFoundException filenotfoundexception) //Catches file not found exception
        {
            System.out.println("File not found.");
        }
        catch(IOException ioexception) //Catches input/output exception
        {
            System.out.println("File input error occured!");
        }

    }

    //Displays an error message, program exits
    public static void quitError(String msg)
    {
        System.out.println(msg);
        System.out.println("Program will now quit.");
        System.exit(0);
    }
}

Code de la recherche binaire nœud de l'arborescence:

public class BSTNode {
    protected String data;
    protected BSTNode left, right;

    public BSTNode() 
    {
        left = null;
        right = null;
    }

    public BSTNode(String data)
    {
        this(data,null,null);
    }

    public BSTNode(String data, BSTNode lt, BSTNode rt) 
    {
        this.data = data; 
        left = lt; 
        right = rt;
    }
}

Code de l'arbre de recherche binaires:

public class BST {
protected BSTNode root = null;
public BST(){}
public void clear()
{
root = null;
}
public boolean isEmpty() 
{
return root == null;
}
public void insert(String data) 
{
BSTNode p = root, prev = null;
while (p != null) {
prev = p;
if (p.data.compareTo(data) < 0)
p = p.right;
else p = p.left;
}
if (root == null)
root = new BSTNode(data);
else if (prev.data.compareTo(data) < 0)
prev.right = new BSTNode(data);
else prev.left  = new BSTNode(data);
}   
public void inorder()
{
inorder(root);
}
private void inorder(BSTNode p) 
{
if (p != null) 
{
inorder(p.left);
System.out.print(p.data + " ");
inorder(p.right);
}
}
public void breadthFirst() 
{
BSTNode p = root;
Queue queue = new Queue();
if (p != null) 
{
queue.enqueue(p);
while (!queue.isEmpty()) 
{
p = (BSTNode) queue.dequeue();
System.out.print(p.data + " ");
if (p.left != null)
queue.enqueue(p.left);
if (p.right != null)
queue.enqueue(p.right);
}
}
}
}
InformationsquelleAutor TonsOfDamage | 2012-03-12