• Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop
    Web
    Kendo UI UI for jQuery UI for Angular UI for React UI for Vue UI for ASP.NET AJAX UI for ASP.NET MVC UI for ASP.NET Core UI for Blazor UI for Silverlight UI for PHP UI for JSP
    Mobile
    UI for .NET MAUI UI for Xamarin
    Document Management
    Telerik Document Processing
    Desktop
    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF UI for UWP
    Reporting & Mocking
    Telerik Reporting Telerik Report Server Telerik JustMock
    Automated Testing
    Test Studio Test Studio Dev Edition
    CMS
    Sitefinity
    UI/UX Design
    Unite UX
    Debugging
    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Jam FiddlerCap FiddlerCore
    Extended Reality
    UI for Unity XR
    Free Tools
    JustAssembly JustDecompile VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Docs & Support
  • Pricing
  • Search
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class ZipArchive

Represents a package of compressed files in the zip archive format.

Inheritance
System.Object
ZipArchive
ZipPackage
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.Windows.Zip
Assembly: Telerik.Windows.Zip.dll

Syntax

public class ZipArchive : IDisposable, INotifyPropertyChanged

Constructors

ZipArchive(Stream)

Initializes a new instance of the ZipArchive class from the specified stream.

Declaration
public ZipArchive(Stream stream)
Parameters
System.IO.Stream stream

The stream that contains the archive to be read.

ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)

Initializes a new instance of the ZipArchive class.

Declaration
public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding entryNameEncoding)
Parameters
System.IO.Stream stream

The stream that contains the archive to be read.

ZipArchiveMode mode

One of the enumeration values that indicates whether the zip archive is used to read, create, or update entries.

System.Boolean leaveOpen

True to leave the stream open after the ZipArchive object is disposed; otherwise, false.

System.Text.Encoding entryNameEncoding

The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.

ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding, CompressionSettings, EncryptionSettings)

Initializes a new instance of the ZipArchive class.

Declaration
public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding entryNameEncoding, CompressionSettings compressionSettings, EncryptionSettings encryptionSettings)
Parameters
System.IO.Stream stream

The stream that contains the archive to be read.

ZipArchiveMode mode

One of the enumeration values that indicates whether the zip archive is used to read, create, or update entries.

System.Boolean leaveOpen

True to leave the stream open after the ZipArchive object is disposed; otherwise, false.

System.Text.Encoding entryNameEncoding

The encoding to use when reading or writing entry names in this archive. Specify a value for this parameter only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.

CompressionSettings compressionSettings

Compression settings.

EncryptionSettings encryptionSettings

Encryption settings.

Properties

Entries

Gets the collection of entries that are currently in the zip archive.

Declaration
public IEnumerable<ZipArchiveEntry> Entries { get; }
Property Value
System.Collections.Generic.IEnumerable<ZipArchiveEntry>

Exceptions
System.NotSupportedException

The zip archive does not support reading.

System.ObjectDisposedException

The zip archive has been disposed.

InvalidDataException

The zip archive is corrupt, and its entries cannot be retrieved.

EntryNameEncoding

Gets entry name encoding.

Declaration
public Encoding EntryNameEncoding { get; }
Property Value
System.Text.Encoding

Mode

Gets a value that describes the type of action the zip archive can perform on entries.

Declaration
public ZipArchiveMode Mode { get; }
Property Value
ZipArchiveMode

Methods

CreateEntry(String)

Creates an empty entry that has the specified path and entry name in the zip archive.

Declaration
public ZipArchiveEntry CreateEntry(string entryName)
Parameters
System.String entryName

A path, relative to the root of the archive, that specifies the name of the entry to be created.

Returns
ZipArchiveEntry

An empty entry in the zip archive.

Exceptions
System.ArgumentException

The entry name is empty.

System.ArgumentNullException

The entry name is null.

System.NotSupportedException

The zip archive does not support writing.

System.ObjectDisposedException

The zip archive has been disposed.

CreateEntry(String, CompressionSettings)

Creates an empty entry that has the specified path and entry name in the zip archive.

Declaration
public ZipArchiveEntry CreateEntry(string entryName, CompressionSettings settings)
Parameters
System.String entryName

A path, relative to the root of the archive, that specifies the name of the entry to be created.

CompressionSettings settings

Compression settings.

Returns
ZipArchiveEntry

An empty entry in the zip archive.

Exceptions
System.ArgumentException

The entry name is empty.

System.ArgumentNullException

The entry name is null.

System.NotSupportedException

The zip archive does not support writing.

System.ObjectDisposedException

The zip archive has been disposed.

Dispose()

Releases the resources used by the current instance of the ZipArchive class.

Declaration
public void Dispose()
Implements
System.IDisposable.Dispose()

Dispose(Boolean)

Called by the Dispose() and Finalize() methods to release the unmanaged resources used by the current instance of the ZipArchive class, and optionally finishes writing the archive and releases the managed resources.

Declaration
protected virtual void Dispose(bool disposing)
Parameters
System.Boolean disposing

True to finish writing the archive and release unmanaged and managed resources; false to release only unmanaged resources.

Finalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.

Declaration
protected void Finalize()

GetEntry(String)

Retrieves a wrapper for the specified entry in the zip archive.

Declaration
public ZipArchiveEntry GetEntry(string entryName)
Parameters
System.String entryName

A path, relative to the root of the archive, that identifies the entry to retrieve.

Returns
ZipArchiveEntry

A wrapper for the specified entry in the archive; null if the entry does not exist in the archive.

Exceptions
System.ArgumentException

The entry name is empty.

System.ArgumentNullException

The entry name is null.

System.NotSupportedException

The zip archive does not support reading.

System.ObjectDisposedException

The zip archive has been disposed.

InvalidDataException

The zip archive is corrupt, and its entries cannot be retrieved.

Events

PropertyChanged

Occurs when a property value changes.

Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
System.ComponentModel.PropertyChangedEventHandler

Extension Methods

ZipFile.CreateEntryFromFile(ZipArchive, String, String)
ZipFile.CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)
ZipFile.CreateEntryFromFile(ZipArchive, String, String, CompressionSettings)
ZipFile.ExtractToDirectory(ZipArchive, String)

Was this article helpful?

Tell us how we can improve this article

Skip
Getting Started
  • Getting Started
Support Resources
  • Documentation
Community
  • Forums
  • Blogs
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.