Exemple #1
0
        /// <summary>
        /// 构造存储头
        /// </summary>
        /// <returns></returns>
        public byte[] MakeFileHeader()
        {
            // 魔数前缀长度 | 块的大小
            byte[] header = new byte[FileHeaderSize];

            // 魔数前缀
            FileHeaderPrefix.CopyTo(header, 0);

            // 块的大小 4 Bytes
            StoredHelper.Store(this.BlockSize, header, FileHeaderPrefix.Length);

            return(header);
        }
Exemple #2
0
        /// <summary>
        /// 构造存储头
        /// </summary>
        /// <returns></returns>
        public byte[] MakeFileHeader()
        {
            // 魔数前缀长度 | 块的大小 | 空闲列表头序号
            byte[] header = new byte[this.FileHeaderSize];

            // 魔数前缀
            FileHeaderPrefix.CopyTo(header, 0);
            int index = FileHeaderPrefix.Length;

            // 块的大小
            StoredHelper.Store(this.BlockSize, header, index);
            index += StoredConstants.IntegerLength;

            // 空闲列表头序号
            StoredHelper.Store(this.FreeBlockHead, header, index);
            index += StoredConstants.LongLength;

            return(header);
        }