Сериализация BTree в файл - PullRequest
       19

Сериализация BTree в файл

1 голос
/ 06 декабря 2009

Я пытаюсь реализовать BTree. Я почти закончил работу с деревом и отлично работает для меньшего ввода, что означает, что я реализовал дерево в памяти Теперь я хотел бы поиграть с большим вводом, для которого я должен записать дерево в файл. Я не знаю с чего начать. Я использую Java, и я не слишком много делал для записи на диск. Любая помощь будет принята с благодарностью. Если кто-то захочет мне помочь с примером, это было бы еще лучше.

Ответы [ 2 ]

3 голосов
/ 06 декабря 2009

Если ваш BTree и его узлы реализуют Serialiable, вы можете записать дерево и его содержимое в файл, используя ObjectOutputStream и FileOutputStream. Это будет легко проверить: запишите его в файл .ser, прочитайте его обратно и убедитесь, что вы вернули оригинальный BTree.

Java Almanac содержит несколько хороших примеров, которые помогут вам.

ОБНОВЛЕНИЕ: я не вижу ни вашего варианта использования для динамической записи, когда внесены изменения, ни "нежелания писать все дерево".

То, что вы предлагаете, кажется невероятно медленным. Зеркалирование каждого изменения в памяти с соответствующей модификацией файла займет много времени.

Если вы пытаетесь реализовать свою собственную базу данных, это имеет смысл. Какой сценарий ты имеешь в виду?

1 голос
/ 23 декабря 2010

Возможно, вы захотите взглянуть на этот вопрос .

...