/// <summary> /// To read an existing file. Reads the Header /// </summary> /// <param name="Order"></param> /// <param name="Path"></param> /// <param name="createFixedSizeText"></param> public Tree(int Order, string Path, ICreateFixedSizeText <T> createFixedSizeText) { this.Order = Order; this.Path = Path; this.createFixedSizeText = createFixedSizeText; var buffer = new byte[Header.FixedSize]; using (var fs = new FileStream(Path, FileMode.OpenOrCreate)) { fs.Seek(0, SeekOrigin.Begin); fs.Read(buffer, 0, Header.FixedSize); } var HeaderString = ByteGenerator.ConvertToString(buffer); var values = HeaderString.Split(Util.Separator); this.Root = Convert.ToInt16(values[0]); this.Order = Convert.ToInt16(values[1]); this.LastPosition = Convert.ToInt16(values[2]); }