我无法弄清楚如何以递归方式将二进制搜索树写入文件。我在Tree类中打开了一个带文件的BufferWriter。然后我将BufferWriter发送到Node类以遍历遍历树并写入文件。但它不起作用。
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 :(得分:4)
看起来不那么糟糕!当你完成时,你可能只是错过了close()
上的BufferedWriter
吗?如果没有close
,则可能无法正确写入文件。