3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
64
_archive
= archive;
162
_archive
= archive;
448
_archive
= null!;
149 references to _archive
System.IO.Compression (149)
System\IO\Compression\ZipArchiveEntry.Async.cs (56)
120
switch (
_archive
.Mode)
128
Debug.Assert(
_archive
.Mode == ZipArchiveMode.Update);
154
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
158
if (!await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
163
_storedOffsetOfCompressedData =
_archive
.ArchiveStream.Position;
180
long savedPosition =
_archive
.ArchiveStream.Position;
184
_archive
.ArchiveStream.Seek(offset, SeekOrigin.Begin);
189
await
_archive
.ArchiveStream.ReadExactlyAsync(_aesSalt, cancellationToken).ConfigureAwait(false);
200
_archive
.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
261
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
396
await
_archive
.ArchiveStream.WriteAsync(cdStaticHeader, cancellationToken).ConfigureAwait(false);
397
await
_archive
.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false);
402
await zip64ExtraField.WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
409
await CreateAesExtraField().WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
412
await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false);
417
await ZipGenericExtraField.WriteAllBlocksAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
422
await
_archive
.ArchiveStream.WriteAsync(_fileComment, cancellationToken).ConfigureAwait(false);
435
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
436
(_lhUnknownExtraFields, _lhTrailingExtraFieldData) = await ZipLocalFileHeader.GetExtraFieldsAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
450
_archive
.ArchiveStream.Seek(await GetOffsetOfCompressedDataAsync(cancellationToken).ConfigureAwait(false), SeekOrigin.Begin);
454
await
_archive
.ArchiveStream.ReadAtLeastAsync(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false);
456
await
_archive
.ArchiveStream.ReadAtLeastAsync(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false);
545
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
562
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offset, _compressedSize);
630
if (!IsEncrypted && !await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
637
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
641
if (!await ZipLocalFileHeader.TrySkipBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false))
669
await
_archive
.ArchiveStream.WriteAsync(lfStaticHeader, cancellationToken).ConfigureAwait(false);
670
await
_archive
.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false);
675
await zip64ExtraField.WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
682
await CreateAesExtraField().WriteBlockAsync(
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
685
await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false);
689
await ZipGenericExtraField.WriteAllBlocksAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, cancellationToken).ConfigureAwait(false);
727
long startPosition =
_archive
.ArchiveStream.Position;
732
baseStream:
_archive
.ArchiveStream,
741
CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream);
753
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
777
long startPosition =
_archive
.ArchiveStream.Position;
786
baseStream:
_archive
.ArchiveStream,
803
CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream);
827
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
840
DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(
_archive
.ArchiveStream, true, null, null), this);
887
long currentPos =
_archive
.ArchiveStream.Position;
888
_archive
.ArchiveStream.Seek(
893
await
_archive
.ArchiveStream.WriteAsync(flagBytes, cancellationToken).ConfigureAwait(false);
894
_archive
.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
911
await
_archive
.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false);
924
if (
_archive
.Mode == ZipArchiveMode.Update || !_everOpenedForWrite)
935
if (_endOfLocalEntryData >
_archive
.ArchiveStream.Position)
937
_archive
.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
961
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false);
967
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false);
978
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false);
982
_archive
.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
990
await
_archive
.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false);
999
return
_archive
.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (93)
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);
584
:
_archive
?.EntryNameAndCommentEncoding ?? Encoding.UTF8;
601
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
605
if (!ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
610
_storedOffsetOfCompressedData =
_archive
.ArchiveStream.Position;
628
long savedPosition =
_archive
.ArchiveStream.Position;
632
_archive
.ArchiveStream.Seek(offset, SeekOrigin.Begin);
637
_archive
.ArchiveStream.ReadExactly(_aesSalt);
648
_archive
.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin);
820
_archive
.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current);
883
_archive
.ArchiveStream.Write(cdStaticHeader);
884
_archive
.ArchiveStream.Write(_storedEntryNameBytes);
887
zip64ExtraField?.WriteBlock(
_archive
.ArchiveStream);
892
CreateAesExtraField().WriteBlock(
_archive
.ArchiveStream);
895
ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId);
900
ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream);
905
_archive
.ArchiveStream.Write(_fileComment);
920
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
921
_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(
_archive
.ArchiveStream, out _lhTrailingExtraFieldData);
951
_archive
.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin);
955
_archive
.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true);
957
_archive
.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true);
1142
Stream compressedStream = new SubReadStream(
_archive
.ArchiveStream, offsetOfCompressedData, _compressedSize);
1183
_archive
.DebugAssertIsStillArchiveStreamOwner(this);
1197
Stream targetStream =
_archive
.ArchiveStream;
1208
baseStream:
_archive
.ArchiveStream,
1222
baseStream:
_archive
.ArchiveStream,
1239
entry.
_archive
.ReleaseArchiveStream(entry);
1242
streamForPosition: encryptionMethod != ZipEncryptionMethod.None ?
_archive
.ArchiveStream : null);
1399
if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
1406
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1410
if (!ZipLocalFileHeader.TrySkipBlock(
_archive
.ArchiveStream))
1447
if (_diskNumberStart !=
_archive
.NumberOfThisDisk)
1452
if (_offsetOfLocalHeader >
_archive
.ArchiveStream.Length)
1458
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin);
1469
_compressedSize >
_archive
.ArchiveStream.Length - offsetOfCompressedData)
1561
_offsetOfLocalHeader =
_archive
.ArchiveStream.Position;
1578
bool isCreateMode =
_archive
.Mode == ZipArchiveMode.Create;
1596
else if (isCreateMode && !
_archive
.ArchiveStream.CanSeek)
1632
_offsetOfLocalHeader =
_archive
.ArchiveStream.Position;
1665
_archive
.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current);
1674
if (isEmptyFile ||
_archive
.ArchiveStream.CanSeek)
1725
_archive
.ArchiveStream.Write(lfStaticHeader);
1726
_archive
.ArchiveStream.Write(_storedEntryNameBytes);
1729
zip64ExtraField?.WriteBlock(
_archive
.ArchiveStream);
1734
CreateAesExtraField().WriteBlock(
_archive
.ArchiveStream);
1737
ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream, WinZipAesExtraField.HeaderId);
1742
ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(),
_archive
.ArchiveStream);
1775
long startPosition =
_archive
.ArchiveStream.Position;
1780
baseStream:
_archive
.ArchiveStream,
1787
using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream))
1794
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
1806
long startPosition =
_archive
.ArchiveStream.Position;
1811
baseStream:
_archive
.ArchiveStream,
1824
using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition:
_archive
.ArchiveStream))
1842
_compressedSize =
_archive
.ArchiveStream.Position - startPosition;
1852
using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(
_archive
.ArchiveStream, true, null, null), this))
1898
long currentPos =
_archive
.ArchiveStream.Position;
1899
_archive
.ArchiveStream.Seek(
1904
_archive
.ArchiveStream.Write(flagBytes);
1905
_archive
.ArchiveStream.Seek(currentPos, SeekOrigin.Begin);
1922
_archive
.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length);
1935
if (
_archive
.Mode == ZipArchiveMode.Update || !_everOpenedForWrite)
1946
if (_endOfLocalEntryData >
_archive
.ArchiveStream.Position)
1948
_archive
.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin);
1977
_archive
.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]);
1983
_archive
.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]);
1994
_archive
.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]);
1998
_archive
.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin);
2006
_archive
.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]);
2012
finalPosition =
_archive
.ArchiveStream.Position;
2033
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract,
2041
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32,
2065
_archive
.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader
2093
_archive
.ArchiveStream.Write(dataDescriptor[..bytesToWrite]);
2155
if (
_archive
== null)
2159
_archive
.ThrowIfDisposed();
2391
if (_entry.
_archive
.ArchiveStream.CanSeek)
2437
if (_entry.
_archive
.ArchiveStream.CanSeek)