0

我在内存中使用 Java 创建了一个 b-tree,它具有 get(K key)、put(K key,V value) 方法,就像 HashMap 一样。由于大小变得巨大,我不得不将 b-tree 存储到磁盘中,然后我将树的每个节点作为一个文件存储到磁盘中,使用文件名来保存指针。进行搜索时,只需将少量文件加载到内存中。尽管如此,我还是不高兴创建了很多文件。有什么绝妙的主意吗?

4

1 回答 1

1

使用 JSON:它是一种非常方便的序列化/反序列化数据的方式。

使用杰克逊

public static void writeToDisc(MyBTree myBTree, File file) throws IOException {
    new ObjectMapper().writeValue(file, myBTree);
}

public static MyBTree readFromDisc(File file) throws IOException {
    return new ObjectMapper().readValue(file, MyBTree.class);
}
于 2013-09-17T07:53:25.653 回答