System\IO\Compression\ZipArchiveEntry.cs (76)
606_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
610if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
615_storedOffsetOfCompressedData = _archive.ArchiveStream.Position;
637if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
642long savedPosition = _archive.ArchiveStream.Position;
646_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin);
651_archive.ArchiveStream.ReadExactly(_aesSalt);
662_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
834_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current);
897_archive.ArchiveStream.Write(cdStaticHeader);
898_archive.ArchiveStream.Write(_storedEntryNameBytes);
901zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
906CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
909ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
914ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
919_archive.ArchiveStream.Write(_fileComment);
934_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
935_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData);
965_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin);
969_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true);
971_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true);
1156Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize);
1211Stream targetStream = _archive.ArchiveStream;
1222baseStream: _archive.ArchiveStream,
1236baseStream: _archive.ArchiveStream,
1256streamForPosition: encryptionMethod != ZipEncryptionMethod.None ? _archive.ArchiveStream : null);
1427if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1434_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1438if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream))
1480if (_offsetOfLocalHeader > _archive.ArchiveStream.Length)
1486_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1497_compressedSize > _archive.ArchiveStream.Length - offsetOfCompressedData)
1589_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1621if (!_archive.ArchiveStream.CanSeek)
1631else if (isCreateMode && !_archive.ArchiveStream.CanSeek)
1667_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1700_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1709if (isEmptyFile || _archive.ArchiveStream.CanSeek)
1760_archive.ArchiveStream.Write(lfStaticHeader);
1761_archive.ArchiveStream.Write(_storedEntryNameBytes);
1764zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
1769CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
1772ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
1777ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
1810long startPosition = _archive.ArchiveStream.Position;
1815baseStream: _archive.ArchiveStream,
1822using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1829_compressedSize = _archive.ArchiveStream.Position - startPosition;
1841long startPosition = _archive.ArchiveStream.Position;
1846baseStream: _archive.ArchiveStream,
1859using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1877_compressedSize = _archive.ArchiveStream.Position - startPosition;
1887using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this))
1934long currentPos = _archive.ArchiveStream.Position;
1935_archive.ArchiveStream.Seek(
1940_archive.ArchiveStream.Write(flagBytes);
1941_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
1958_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length);
1982if (_endOfLocalEntryData > _archive.ArchiveStream.Position)
1984_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
2013_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]);
2019_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]);
2030_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]);
2034_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
2042_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]);
2048finalPosition = _archive.ArchiveStream.Position;
2069_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract,
2077_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32,
2101_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader
2129_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]);
2431long startPosition = _entry._archive.ArchiveStream.Position;
2435_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2443if (_entry._archive.ArchiveStream.CanSeek)
2490long startPosition = _entry._archive.ArchiveStream.Position;
2494_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition;
2502if (_entry._archive.ArchiveStream.CanSeek)