Example #1
0
        /// <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]);
        }