1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System.IO;
- namespace SharpCompress.Common.Zip.Headers
- {
- internal class DirectoryEndHeader : ZipHeader
- {
- public DirectoryEndHeader()
- : base(ZipHeaderType.DirectoryEnd)
- {
- }
- internal override void Read(BinaryReader reader)
- {
- VolumeNumber = reader.ReadUInt16();
- FirstVolumeWithDirectory = reader.ReadUInt16();
- TotalNumberOfEntriesInDisk = reader.ReadUInt16();
- TotalNumberOfEntries = reader.ReadUInt16();
- DirectorySize = reader.ReadUInt32();
- DirectoryStartOffsetRelativeToDisk = reader.ReadUInt32();
- CommentLength = reader.ReadUInt16();
- Comment = reader.ReadBytes(CommentLength);
- }
- public ushort VolumeNumber { get; private set; }
- public ushort FirstVolumeWithDirectory { get; private set; }
- public ushort TotalNumberOfEntriesInDisk { get; private set; }
- public uint DirectorySize { get; private set; }
- public uint DirectoryStartOffsetRelativeToDisk { get; private set; }
- public ushort CommentLength { get; private set; }
- public byte[] Comment { get; private set; }
- public ushort TotalNumberOfEntries { get; private set; }
- public bool IsZip64 => TotalNumberOfEntriesInDisk == ushort.MaxValue
- || DirectorySize == uint.MaxValue
- || DirectoryStartOffsetRelativeToDisk == uint.MaxValue;
- }
- }
|