private void _read() { _headerPrefix = new FileHeaderPrefix(m_io, this, m_root); __raw_header = m_io.ReadBytes((HeaderPrefix.LenHeader - 6)); var io___raw_header = new KaitaiStream(__raw_header); _header = new FileHeader(io___raw_header, this, m_root); __raw__raw_toc = m_io.ReadBytes(Header.LenTocCompressed); __raw_toc = m_io.ProcessZlib(__raw__raw_toc); var io___raw_toc = new KaitaiStream(__raw_toc); _toc = new TocType(io___raw_toc, this, m_root); }
/// <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); }
private void _read() { _headerPrefix = new FileHeaderPrefix(m_io, this, m_root); __raw_header = m_io.ReadBytes((HeaderPrefix.LenHeader - 10)); var io___raw_header = new KaitaiStream(__raw_header); _header = new FileHeader(io___raw_header, this, m_root); _chunks = new List <Chunk>(); for (var i = 0; i < Header.NumChunks; i++) { _chunks.Add(new Chunk(m_io, this, m_root)); } }
/// <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); }