Пример #1
0
 public CentralDirectoryEnd(Stream stream, CustomBinaryReader reader)
 {
     DiskNumber             = reader.ReadInt16();
     DiskNumberWithCD       = reader.ReadInt16();
     DiskEntries            = reader.ReadInt16();
     TotalEntries           = reader.ReadInt16();
     CentralDirectorySize   = reader.ReadInt32();
     OffsetOfCdStartingDisk = reader.ReadInt32();
     CommentLength          = reader.ReadInt16();
     Comment = reader.ReadString(CommentLength);
 }
Пример #2
0
        public FileStructure(Stream stream, CustomBinaryReader reader)
        {
            if ((stream.Position - 4) % 0x1000 != 0)
            {
                throw new Exception("File Data Section Alignment Error (Pre Read)");
            }

            Version          = reader.ReadInt16();
            Flags            = reader.ReadInt16();
            CompressionMode  = (FileCompressionMode)reader.ReadInt16();
            ModificationTime = reader.ReadUInt16();
            ModificationDate = reader.ReadUInt16();
            CRC32            = reader.ReadInt32();
            CompressedSize   = reader.ReadInt32();
            UncompressedSize = reader.ReadInt32();
            FilenameLength   = reader.ReadInt16();
            ExtraLength      = reader.ReadInt16();

            Filename = reader.ReadString(FilenameLength);
            Extra    = new FileStructureExtraData(stream, reader, ExtraLength);
        }