Class IronBaseArchive
Base class for Iron Software Archives
Inheritance
Implements
Namespace: IronZip
Assembly: IronZip.dll
Syntax
public abstract class IronBaseArchive : Object
The save-and-dispose contract shared by every IronZip archive type lives in IronBaseArchive. It is abstract, so a developer never constructs one directly; instead they create one of the four concrete subclasses and rely on the shared contract when handling archives uniformly. The subclasses are IronZipArchive for ZIP (.zip), IronTarArchive for TAR (.tar), IronGZipArchive for gzip (.gz), and IronBZip2Archive for bzip2 (.bz2).
The contract is small and deliberate. Save and SaveAs(string Path) are abstract, so each subclass writes its own format. Dispose is virtual: the base releases the internal stream, and a subclass overrides it when it has extra resources to free. The shared shape means code that compresses or stores a file can accept an IronBaseArchive parameter and stay format-agnostic, deferring the choice of ZIP, TAR, gzip, or bzip2 to the caller.
When a single format is known, work with the concrete type for its format-specific helpers (IronZipArchive adds editing and encryption that the simpler archives do not). When several formats flow through one code path, type the variable as IronBaseArchive and call the shared Save, SaveAs, and Dispose. The base also owns the internal stream that backs an open archive, which is why disposal matters: an undisposed archive can hold the underlying file or memory until the process ends. A using statement on the concrete type, or an explicit Dispose call through the base reference, releases it promptly.
using IronZip;
IronBaseArchive archive = new IronTarArchive();
archive.SaveAs("output.tar");
archive.Dispose();The get started guide introduces the archive types, while the create ZIP example and create TAR example show two concrete subclasses in use.
Constructors
IronBaseArchive()
Declaration
protected IronBaseArchive()
Fields
_internalStream
Internal MemoryStream to store ZipOutputStream
Declaration
protected MemoryStream _internalStream
Field Value
| Type | Description |
|---|---|
| System.IO.MemoryStream |
_storedArchivePath
File path to store the Archive.
Declaration
protected string _storedArchivePath
Field Value
| Type | Description |
|---|---|
| System.String |
isDisposed
Dispose method
Declaration
protected bool isDisposed
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Methods
Dispose()
Check the license before using IronZIP
Declaration
public virtual void Dispose()
Exceptions
| Type | Condition |
|---|---|
| IronSoftware.Exceptions.LicensingException |
Save()
Save the archive
Declaration
public abstract void Save()
Remarks
Users cannot add additional entries after saving
SaveAs(String)
Save the archive to the specified path
Declaration
public abstract void SaveAs(string Path)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | Path | Save path |
Remarks
Users cannot add additional entries after saving