hmm du könntest dir einfach dein eigenes format überlegen z.b.
Ganz am Anfang einen Int64 (der die Anfangs Position von den Daten angibt), dann den Binärbaum und am schluß die Daten.
Jetzt kannst du den Baum auslesen = FileStream.Position := LängeVonInt64 (die ist ja immer gleich); FileStream Read bis zu den Daten (steht im int64 wann die daten anfangen)
Daten = Filstream.Position := Int64 Wert. Filestream Read den Rest.
Hoffe du verstehst wie ich es meine