System\IO\Compression\ZipArchiveEntry.cs (71)
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;
1624else if (isCreateMode && !_archive.ArchiveStream.CanSeek)
1660_offsetOfLocalHeader = _archive.ArchiveStream.Position;
1693_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1702if (isEmptyFile || _archive.ArchiveStream.CanSeek)
1753_archive.ArchiveStream.Write(lfStaticHeader);
1754_archive.ArchiveStream.Write(_storedEntryNameBytes);
1757zip64ExtraField?.WriteBlock(_archive.ArchiveStream);
1762CreateAesExtraField().WriteBlock(_archive.ArchiveStream);
1765ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId);
1770ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream);
1803long startPosition = _archive.ArchiveStream.Position;
1808baseStream: _archive.ArchiveStream,
1815using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1822_compressedSize = _archive.ArchiveStream.Position - startPosition;
1834long startPosition = _archive.ArchiveStream.Position;
1839baseStream: _archive.ArchiveStream,
1852using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream))
1870_compressedSize = _archive.ArchiveStream.Position - startPosition;
1880using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this))
1926long currentPos = _archive.ArchiveStream.Position;
1927_archive.ArchiveStream.Seek(
1932_archive.ArchiveStream.Write(flagBytes);
1933_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
1950_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length);
1974if (_endOfLocalEntryData > _archive.ArchiveStream.Position)
1976_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
2005_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]);
2011_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]);
2022_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]);
2026_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
2034_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]);
2040finalPosition = _archive.ArchiveStream.Position;
2061_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract,
2069_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32,
2093_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader
2121_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]);
2419if (_entry._archive.ArchiveStream.CanSeek)
2465if (_entry._archive.ArchiveStream.CanSeek)