365 if (
eocdBlock.NumberOfThisDisk !=
eocdBlock.NumberOfTheDiskWithTheStartOfTheCentralDirectory)
371 if (
eocdBlock.NumberOfEntriesInTheCentralDirectory !=
eocdBlock.NumberOfEntriesInTheCentralDirectoryOnThisDisk)
398 if (
eocd.NumberOfThisDisk != ushort.MaxValue &&
eocd.OffsetOfStartOfCentralDirectoryWithRespectToTheStartingDiskNumber != uint.MaxValue &&
eocd.NumberOfEntriesInTheCentralDirectory != ushort.MaxValue)
442 if (!
entry.LoadLocalHeaderExtraFieldAndCompressedBytesIfNeeded())
456 entry2.WriteAndFinishLocalEntry();
461 entry3.WriteCentralDirectoryFileHeader();
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
bool ContainsKey(TKey key)
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static void SuppressFinalize(object obj)
virtual void Dispose(bool disposing)
void WriteAndFinishLocalEntry()
readonly Stream _archiveStream
void WriteArchiveEpilogue(long startOfCentralDirectory, long sizeOfCentralDirectory)
void ReleaseArchiveStream(ZipArchiveEntry entry)
ZipArchive(Stream stream)
long _centralDirectoryStart
void AcquireArchiveStream(ZipArchiveEntry entry)
BinaryReader _archiveReader
void AddEntry(ZipArchiveEntry entry)
virtual void Dispose(bool disposing)
void ReadEndOfCentralDirectory()
Dictionary< string, ZipArchiveEntry > _entriesDictionary
ZipArchiveEntry CreateEntry(string entryName)
void ReadCentralDirectory()
ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding? entryNameEncoding)
BinaryReader? ArchiveReader
Encoding? EntryNameEncoding
void TryReadZip64EndOfCentralDirectory(ZipEndOfCentralDirectoryBlock eocd, long eocdStart)
ZipArchiveEntry CreateEntry(string entryName, CompressionLevel compressionLevel)
ZipArchiveEntry _archiveStreamOwner
void RemoveEntry(ZipArchiveEntry entry)
ZipArchiveEntry? GetEntry(string entryName)
ReadOnlyCollection< ZipArchiveEntry > _entriesCollection
List< ZipArchiveEntry > _entries
ReadOnlyCollection< ZipArchiveEntry > Entries
ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen)
long _expectedNumberOfEntries
ZipArchive(Stream stream, ZipArchiveMode mode)
ZipArchiveEntry DoCreateEntry(string entryName, CompressionLevel? compressionLevel)
Encoding _entryNameEncoding
void EnsureCentralDirectoryRead()
static bool SeekBackwardsToSignature(Stream stream, uint signatureToFind, int maxBytesToRead)
void SetLength(long value)
long Seek(long offset, SeekOrigin origin)
void CopyTo(Stream destination)
static string CentralDirectoryInvalid
static string ReadModeCapabilities
static string CreateModeCreateEntryWhileOpen
static string NumEntriesWrong
static string CreateModeCapabilities
static string Format(string resourceFormat, object p1)
static string UpdateModeCapabilities
static string EOCDNotFound
static string FieldTooBigOffsetToCD
static string EntryNameEncodingNotSupported
static string CannotBeEmpty
static string SplitSpanned
static string Zip64EOCDNotWhereExpected
static string CreateInReadMode
static string EntriesInCreateMode
static string FieldTooBigOffsetToZip64EOCD
static string FieldTooBigNumEntries
static Encoding BigEndianUnicode
static bool TryReadBlock(BinaryReader reader, out Zip64EndOfCentralDirectoryLocator zip64EOCDLocator)
static void WriteBlock(Stream stream, long zip64EOCDRecordStart)
static void WriteBlock(Stream stream, long numberOfEntries, long startOfCentralDirectory, long sizeOfCentralDirectory)
static bool TryReadBlock(BinaryReader reader, out Zip64EndOfCentralDirectoryRecord zip64EOCDRecord)
static bool TryReadBlock(BinaryReader reader, out ZipEndOfCentralDirectoryBlock eocdBlock)
static void WriteBlock(Stream stream, long numberOfEntries, long startOfCentralDirectory, long sizeOfCentralDirectory, byte[] archiveComment)