System.IO.Compression.ZipGenericExtraField.WriteAllBlocks C# (CSharp) Méthode

WriteAllBlocks() public static méthode

public static WriteAllBlocks ( List fields, Stream stream ) : void
fields List
stream Stream
Résultat void
        public static void WriteAllBlocks(List<ZipGenericExtraField> fields, Stream stream)
        {
            foreach (ZipGenericExtraField field in fields)
                field.WriteBlock(stream);
        }
    }

Usage Example

Exemple #1
0
        private bool WriteLocalFileHeader(bool isEmptyFile)
        {
            uint            num;
            uint            num1;
            ushort          num2;
            ushort          totalSize;
            ushort          num3;
            object          obj;
            BinaryWriter    binaryWriter = new BinaryWriter(this._archive.ArchiveStream);
            Zip64ExtraField nullable     = new Zip64ExtraField();
            bool            flag         = false;

            if (isEmptyFile)
            {
                this.CompressionMethod = ZipArchiveEntry.CompressionMethodValues.Stored;
                num  = 0;
                num1 = 0;
            }
            else if (this._archive.Mode == ZipArchiveMode.Create && !this._archive.ArchiveStream.CanSeek && !isEmptyFile)
            {
                this._generalPurposeBitFlag |= ZipArchiveEntry.BitFlagValues.DataDescriptor;
                flag = false;
                num  = 0;
                num1 = 0;
            }
            else if (!this.SizesTooLarge())
            {
                flag = false;
                num  = (uint)this._compressedSize;
                num1 = (uint)this._uncompressedSize;
            }
            else
            {
                flag = true;
                num  = -1;
                num1 = -1;
                nullable.CompressedSize   = new long?(this._compressedSize);
                nullable.UncompressedSize = new long?(this._uncompressedSize);
                this.VersionToExtractAtLeast(ZipVersionNeededValues.Zip64);
            }
            this._offsetOfLocalHeader = binaryWriter.BaseStream.Position;
            if (flag)
            {
                totalSize = nullable.TotalSize;
            }
            else
            {
                totalSize = 0;
            }
            if (this._lhUnknownExtraFields != null)
            {
                num3 = (ushort)ZipGenericExtraField.TotalSize(this._lhUnknownExtraFields);
            }
            else
            {
                num3 = 0;
            }
            int num4 = totalSize + num3;

            if (num4 <= 65535)
            {
                num2 = (ushort)num4;
            }
            else
            {
                if (flag)
                {
                    obj = nullable.TotalSize;
                }
                else
                {
                    obj = null;
                }
                num2 = (ushort)obj;
                this._lhUnknownExtraFields = null;
            }
            binaryWriter.Write((uint)67324752);
            binaryWriter.Write((ushort)this._versionToExtract);
            binaryWriter.Write((ushort)this._generalPurposeBitFlag);
            binaryWriter.Write((ushort)this.CompressionMethod);
            binaryWriter.Write(ZipHelper.DateTimeToDosTime(this._lastModified.DateTime));
            binaryWriter.Write(this._crc32);
            binaryWriter.Write(num);
            binaryWriter.Write(num1);
            binaryWriter.Write((ushort)((int)this._storedEntryNameBytes.Length));
            binaryWriter.Write(num2);
            binaryWriter.Write(this._storedEntryNameBytes);
            if (flag)
            {
                nullable.WriteBlock(this._archive.ArchiveStream);
            }
            if (this._lhUnknownExtraFields != null)
            {
                ZipGenericExtraField.WriteAllBlocks(this._lhUnknownExtraFields, this._archive.ArchiveStream);
            }
            return(flag);
        }
All Usage Examples Of System.IO.Compression.ZipGenericExtraField::WriteAllBlocks