ZipArchiveEntry.CompressedLength Property

Definition

Gets the compressed size, expressed in bytes, of the entry in the zip archive.

public long CompressedLength { get; }

Property Value

The compressed size of the entry in the zip archive.

Exceptions

The value of the property is not available because the entry has been modified.

Examples

The following example shows how to retrieve entries in a zip archive, and evaluate the properties of the entries. It uses the Name property to display the name of the entry, and the Length and CompressedLength properties to calculate how much the file was compressed.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\example\result.zip";

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    float compressedRatio = (float)entry.CompressedLength / entry.Length;
                    float reductionPercentage = 100 - (compressedRatio * 100);

                    Console.WriteLine (string.Format("File: {0}, Compressed {1:F2}%", entry.Name, reductionPercentage));
                }
            }
        }
    }
}

Remarks

This property cannot be retrieved when the mode is set to Create, or the mode is set to Update and the entry has been opened.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0