System\IO\Compression\ZipArchiveEntry.cs (76)
610_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
614if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
619_storedOffsetOfCompressedData = _archive.ArchiveStream.Position;
641if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
646long savedPosition = _archive.ArchiveStream.Position;
650_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin);
655_archive.ArchiveStream.ReadExactly(_aesSalt);
666_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
838_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current);
901_archive.ArchiveStream.Write(cdStaticHeader);
902_archive.ArchiveStream.Write(_storedEntryNameBytes);
905zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
910CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
913ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
918ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
923_archive.ArchiveStream.Write(_fileComment);
938_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
939_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData);
969_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin);
973_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true);
975_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true);
1160Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize);
1215Stream targetStream = _archive.ArchiveStream;
1226baseStream: _archive.ArchiveStream,
1240baseStream: _archive.ArchiveStream,
1260streamForPosition: encryptionMethod != ZipEncryptionMethod.None ? _archive.ArchiveStream : null);
1431if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1438_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1442if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1484if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
1490_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1501_compressedSize > _archive.ArchiveStream.Length - offsetOfCompressedData)
1593_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1625if (!_archive.ArchiveStream.CanSeek)
1635else if (isCreateMode && !_archive.ArchiveStream.CanSeek)
1671_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1704_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1713if (isEmptyFile || _archive.ArchiveStream.CanSeek)
1764_archive.ArchiveStream.Write(lfStaticHeader);
1765_archive.ArchiveStream.Write(_storedEntryNameBytes);
1768zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
1773CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
1776ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
1781ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
1814long startPosition = _archive.ArchiveStream.Position;
1819baseStream: _archive.ArchiveStream,
1826using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1833_compressedSize = _archive.ArchiveStream.Position - startPosition;
1845long startPosition = _archive.ArchiveStream.Position;
1850baseStream: _archive.ArchiveStream,
1863using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1881_compressedSize = _archive.ArchiveStream.Position - startPosition;
1891using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this))
1938long currentPos = _archive.ArchiveStream.Position;
1939_archive.ArchiveStream.Seek(
1944_archive.ArchiveStream.Write(flagBytes);
1945_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
1962_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length);
1986if (_endOfLocalEntryData > _archive.ArchiveStream.Position)
1988_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
2017_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]);
2023_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]);
2034_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]);
2038_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
2046_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]);
2052finalPosition = _archive.ArchiveStream.Position;
2073_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract,
2081_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32,
2105_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader
2133_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]);
2435long startPosition = _entry._archive.ArchiveStream.Position;
2439_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2447if (_entry._archive.ArchiveStream.CanSeek)
2494long startPosition = _entry._archive.ArchiveStream.Position;
2498_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2506if (_entry._archive.ArchiveStream.CanSeek)