3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
64
_archive
= archive;
162
_archive
= archive;
448
_archive
= null!;
151 references to _archive
System.IO.Compression (151)
System\IO\Compression\ZipArchiveEntry.Async.cs (57)
120
switch (
_archive
.Mode)
128
Debug.Assert(
_archive
.Mode == ZipArchiveMode.Update);
159
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
163
if (!await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
168
_storedOffsetOfCompressedData =
_archive
.ArchiveStream.Position;
189
if (_offsetOfLocalHeader >
_archive
.ArchiveStream.Length)
194
long savedPosition =
_archive
.ArchiveStream.Position;
198
_archive
.ArchiveStream.Seek(offset, SeekOrigin.Begin);
203
await
_archive
.ArchiveStream.ReadExactlyAsync(_aesSalt, cancellationToken).ConfigureAwait(false);
214
_archive
.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
275
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
426
await
_archive
.ArchiveStream.WriteAsync(cdStaticHeader, cancellationToken).ConfigureAwait(false);
427
await
_archive
.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false);
432
await zip64ExtraField.WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
439
await CreateAesExtraField().WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
442
await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false);
447
await ZipGenericExtraField.WriteAllBlocksAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
452
await
_archive
.ArchiveStream.WriteAsync(_fileComment, cancellationToken).ConfigureAwait(false);
465
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
466
(_lhUnknownExtraFields, _lhTrailingExtraFieldData) = await ZipLocalFileHeader.GetExtraFieldsAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
480
_archive
.ArchiveStream.Seek(await GetOffsetOfCompressedDataAsync(cancellationToken).ConfigureAwait(false), SeekOrigin.Begin);
484
await
_archive
.ArchiveStream.ReadAtLeastAsync(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false);
486
await
_archive
.ArchiveStream.ReadAtLeastAsync(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false);
575
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
592
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
660
if (!IsEncrypted && !await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
667
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
671
if (!await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
699
await
_archive
.ArchiveStream.WriteAsync(lfStaticHeader, cancellationToken).ConfigureAwait(false);
700
await
_archive
.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false);
705
await zip64ExtraField.WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
712
await CreateAesExtraField().WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
715
await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false);
719
await ZipGenericExtraField.WriteAllBlocksAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
757
long startPosition =
_archive
.ArchiveStream.Position;
762
baseStream:
_archive
.ArchiveStream,
771
CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream);
783
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
807
long startPosition =
_archive
.ArchiveStream.Position;
816
baseStream:
_archive
.ArchiveStream,
833
CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream);
857
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
870
DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(
_archive
.ArchiveStream, true, null, null), this);
917
long currentPos =
_archive
.ArchiveStream.Position;
918
_archive
.ArchiveStream.Seek(
923
await
_archive
.ArchiveStream.WriteAsync(flagBytes, cancellationToken).ConfigureAwait(false);
924
_archive
.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
941
await
_archive
.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false);
954
if (
_archive
.Mode == ZipArchiveMode.Update || !_everOpenedForWrite)
965
if (_endOfLocalEntryData >
_archive
.ArchiveStream.Position)
967
_archive
.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
991
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false);
997
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false);
1008
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false);
1012
_archive
.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
1020
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false);
1029
return
_archive
.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (94)
204
if (
_archive
.Mode == ZipArchiveMode.Create)
206
_archive
.AcquireArchiveStream(this);
215
public ZipArchive Archive =>
_archive
;
300
_fileComment = ZipHelper.GetEncodedTruncatedBytesFromString(value,
_archive
.EntryNameAndCommentEncoding, ushort.MaxValue, out bool isUTF8);
327
value,
_archive
.EntryNameAndCommentEncoding, 0 /* No truncation */, out bool isUTF8);
368
if (
_archive
.Mode == ZipArchiveMode.Read)
372
if (
_archive
.Mode == ZipArchiveMode.Create && _everOpenedForWrite)
430
if (
_archive
== null)
440
if (
_archive
.Mode != ZipArchiveMode.Update)
445
_archive
.ThrowIfDisposed();
447
_archive
.RemoveEntry(this);
526
private FileAccess InferAccessFromMode() =>
_archive
.Mode switch
540
switch (
_archive
.Mode)
559
switch (
_archive
.Mode)
567
Debug.Assert(
_archive
.Mode == ZipArchiveMode.Update);
589
:
_archive
?.EntryNameAndCommentEncoding ?? Encoding.UTF8;
606
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
610
if (!ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
615
_storedOffsetOfCompressedData =
_archive
.ArchiveStream.Position;
637
if (_offsetOfLocalHeader >
_archive
.ArchiveStream.Length)
642
long 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);
901
zip64ExtraField?.WriteBlock(
_archive
.ArchiveStream);
906
CreateAesExtraField().WriteBlock(
_archive
.ArchiveStream);
909
ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId);
914
ZipGenericExtraField.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);
1156
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offsetOfCompressedData, _compressedSize);
1197
_archive
.DebugAssertIsStillArchiveStreamOwner(this);
1211
Stream targetStream =
_archive
.ArchiveStream;
1222
baseStream:
_archive
.ArchiveStream,
1236
baseStream:
_archive
.ArchiveStream,
1253
entry.
_archive
.ReleaseArchiveStream(entry);
1256
streamForPosition: encryptionMethod != ZipEncryptionMethod.None ?
_archive
.ArchiveStream : null);
1427
if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
1434
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1438
if (!ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
1475
if (_diskNumberStart !=
_archive
.NumberOfThisDisk)
1480
if (_offsetOfLocalHeader >
_archive
.ArchiveStream.Length)
1486
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1497
_compressedSize >
_archive
.ArchiveStream.Length - offsetOfCompressedData)
1589
_offsetOfLocalHeader =
_archive
.ArchiveStream.Position;
1606
bool isCreateMode =
_archive
.Mode == ZipArchiveMode.Create;
1624
else if (isCreateMode && !
_archive
.ArchiveStream.CanSeek)
1660
_offsetOfLocalHeader =
_archive
.ArchiveStream.Position;
1693
_archive
.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1702
if (isEmptyFile ||
_archive
.ArchiveStream.CanSeek)
1753
_archive
.ArchiveStream.Write(lfStaticHeader);
1754
_archive
.ArchiveStream.Write(_storedEntryNameBytes);
1757
zip64ExtraField?.WriteBlock(
_archive
.ArchiveStream);
1762
CreateAesExtraField().WriteBlock(
_archive
.ArchiveStream);
1765
ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId);
1770
ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream);
1803
long startPosition =
_archive
.ArchiveStream.Position;
1808
baseStream:
_archive
.ArchiveStream,
1815
using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream))
1822
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
1834
long startPosition =
_archive
.ArchiveStream.Position;
1839
baseStream:
_archive
.ArchiveStream,
1852
using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream))
1870
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
1880
using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(
_archive
.ArchiveStream, true, null, null), this))
1926
long 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);
1963
if (
_archive
.Mode == ZipArchiveMode.Update || !_everOpenedForWrite)
1974
if (_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]);
2040
finalPosition =
_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]);
2183
if (
_archive
== null)
2187
_archive
.ThrowIfDisposed();
2419
if (_entry.
_archive
.ArchiveStream.CanSeek)
2465
if (_entry.
_archive
.ArchiveStream.CanSeek)