Java 从按预定顺序写入的文本文件创建二叉树

Java 从按预定顺序写入的文本文件创建二叉树,java,tree,Java,Tree,我有一系列的树节点,以预先的顺序存储在一个文本文件中。要创建树,我有一个TreeNode类,其中包含节点负载,如果不是叶,则有一个TreeNode用于左和右 类树节点{ 专用字符串有效载荷; 私有树节点左; 私有树节点权; 公共树节点(字符串有效负载){ 这个有效载荷=有效载荷; this.left=null; this.right=null; } 公共树节点(字符串有效负载,树节点左侧,树节点右侧){ 这个有效载荷=有效载荷; this.left=左; 这个。右=右; } 公共无效设置左(Tr

我有一系列的树节点,以预先的顺序存储在一个文本文件中。要创建树,我有一个TreeNode类,其中包含节点负载,如果不是叶,则有一个TreeNode用于左和右

类树节点{
专用字符串有效载荷;
私有树节点左;
私有树节点权;
公共树节点(字符串有效负载){
这个有效载荷=有效载荷;
this.left=null;
this.right=null;
}
公共树节点(字符串有效负载,树节点左侧,树节点右侧){
这个有效载荷=有效载荷;
this.left=左;
这个。右=右;
}
公共无效设置左(TreeNode左){
this.left=左;
}
公共无效设置权(TreeNode right){
这个。右=右;
}
}
我需要能够从文本文件(每个节点的“有效负载”)中提取行,并从中重新创建树。我相信最好的方法是通过一个递归函数,就像一个用来按预定顺序遍历已创建树的函数一样,但是我无法理解如何去做。 我从文本文件中获取行的代码在读取每一行后将它们存储在一个变量中。我这样做是因为我相信这会使处理数据变得更容易,因为我不太熟悉用java读取文本文件

公共树节点loadTree(){ File File=新文件(“suggestions.txt”); 试一试{ BufferedReader reader=新的BufferedReader(新文件读取器(文件)); 弦线; int len=0; 而((line=reader.readLine())!=null){ len++; } int pos=0; 字符串[]行=新字符串[len]; 而((line=reader.readLine())!=null){ 行[pos]=行; pos++; } }捕获(IOE异常){ e、 printStackTrace(); } }
我对Java比较陌生,因此我为所有愚蠢的代码道歉。

仅以预先排序的节点不允许您重建原始树。您希望如何读取文件末尾的内容?