Export (0) Print
Expand All

ZipArchiveEntry.CompressedLength Property

.NET Framework 4.6 and 4.5

Gets the compressed size of the entry in the zip archive.

Namespace:  System.IO.Compression
Assembly:  System.IO.Compression (in System.IO.Compression.dll)

public long CompressedLength { get; }

Property Value

Type: System.Int64
The compressed size of the entry in the zip archive.

ExceptionCondition
InvalidOperationException

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

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.

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)); 
                }
            } 
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5

Supported in: Windows Phone 8.1
Show:
© 2015 Microsoft