System\IO\Compression\ZipArchiveEntry.cs (76)
620_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
624if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
629_storedOffsetOfCompressedData = _archive.ArchiveStream.Position;
651if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
656long savedPosition = _archive.ArchiveStream.Position;
660_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin);
665_archive.ArchiveStream.ReadExactly(_aesSalt);
676_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
848_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current);
910_archive.ArchiveStream.Write(cdStaticHeader);
911_archive.ArchiveStream.Write(_storedEntryNameBytes);
914zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
919CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
922ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
927ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
932_archive.ArchiveStream.Write(_fileComment);
947_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
948_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData);
978_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin);
982_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true);
984_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true);
1182Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize);
1237Stream targetStream = _archive.ArchiveStream;
1248baseStream: _archive.ArchiveStream,
1262baseStream: _archive.ArchiveStream,
1280streamForPosition: encryptionMethod != ZipEncryptionMethod.None ? _archive.ArchiveStream : null);
1449if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1456_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1460if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1502if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
1508_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1519_compressedSize > _archive.ArchiveStream.Length - offsetOfCompressedData)
1611_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1643if (!_archive.ArchiveStream.CanSeek)
1653else if (isCreateMode && !_archive.ArchiveStream.CanSeek)
1689_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1722_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1731if (isEmptyFile || _archive.ArchiveStream.CanSeek)
1782_archive.ArchiveStream.Write(lfStaticHeader);
1783_archive.ArchiveStream.Write(_storedEntryNameBytes);
1786zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
1791CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
1794ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
1799ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
1832long startPosition = _archive.ArchiveStream.Position;
1837baseStream: _archive.ArchiveStream,
1844using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1851_compressedSize = _archive.ArchiveStream.Position - startPosition;
1863long startPosition = _archive.ArchiveStream.Position;
1868baseStream: _archive.ArchiveStream,
1881using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1899_compressedSize = _archive.ArchiveStream.Position - startPosition;
1909using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this))
1956long currentPos = _archive.ArchiveStream.Position;
1957_archive.ArchiveStream.Seek(
1962_archive.ArchiveStream.Write(flagBytes);
1963_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
1980_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length);
2004if (_endOfLocalEntryData > _archive.ArchiveStream.Position)
2006_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
2035_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]);
2041_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]);
2052_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]);
2056_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
2064_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]);
2070finalPosition = _archive.ArchiveStream.Position;
2091_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract,
2099_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32,
2123_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader
2151_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]);
2453long startPosition = _entry._archive.ArchiveStream.Position;
2457_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2465if (_entry._archive.ArchiveStream.CanSeek)
2512long startPosition = _entry._archive.ArchiveStream.Position;
2516_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2524if (_entry._archive.ArchiveStream.CanSeek)