将BTree序列化为文件

时间:2009-12-06 17:57:19

标签: java io b-tree

我正在尝试实施BTree。我已经完成了树的工作,并且对于较小的输入非常有用,这意味着我已经在内存中实现了树。现在我想玩大型输入,我将树写入文件。我不知道从哪里开始。我正在使用Java而且我没有做过太多的'磁盘写'编码。任何帮助将非常感激。如果有人想帮我提供一个更好的例子。

2 个答案:

答案 0 :(得分:3)

如果您的BTree及其节点实现Serialiable,您可以使用ObjectOutputStream和FileOutputStream将树及其内容写入文件。它很容易测试:将其写入.ser文件,重新读入,然后看到你已经恢复了原来的BTree。

Java Almanac包含了一些很好的例子,它们会有所帮助。

更新:我没有看到你的用例是在进行修改时动态写入或“不想写整个树”。

你的建议看起来似乎很慢。通过对文件进行相应修改来镜像内存中的每个更改将花费很长时间。

如果您正在尝试自己的数据库实现,这是有道理的。您有什么场景?

答案 1 :(得分:1)

您可能需要查看this question