Class IronGZipArchive
An IronGZipArchive for gzip-type ".gz" Archives
Implements
Inherited Members
Namespace: IronZip
Assembly: IronZip.dll
Syntax
public class IronGZipArchive : IronBaseArchive
When files need gzip (.gz) compression, IronGZipArchive creates and extracts the archive from C#. gzip is the standard compressor on Unix-like systems and pairs naturally with TAR to form .tar.gz (.tgz) tarballs, which this type also unpacks. Construct one with new IronGZipArchive(), optionally passing a compression level, or open an existing archive from a path.
Add content with Add (one path per call) and AddArchiveEntry. The static helpers handle whole-file operations: FromFile and FromFiles build an archive from paths, ExtractArchiveToDirectory unpacks a .gz, and ExtractTGZArchiveToDirectory unpacks a combined .tgz. The constructor and the factories accept a compression level so the size-versus-speed trade-off is set up front. The type derives from IronBaseArchive, so Save, SaveAs, and Dispose behave as they do across the archive family.
A common run sets the compression level, adds the files, and saves. The level defaults to the maximum, and a lower value finishes faster at a larger size. gzip compresses the byte stream it is given, so a single large log or data file compresses directly through Add and SaveAs. For many files in one compressed archive, bundle them first with IronTarArchive and then compress the tarball here, producing the .tgz shape that ExtractTGZArchiveToDirectory reverses. Most cross-platform release pipelines distribute .tgz, so the tar-then-gzip pairing is the common shape on the wire. Wrap the archive in a using statement so the stream is released after saving.
using IronZip;
using var archive = new IronGZipArchive();
archive.Add("backup.log");
archive.SaveAs("output.gz");The create gzip example covers compression and the extract gzip example covers the reverse; the get started guide helps pick a format.
Constructors
IronGZipArchive(Int32)
Creates a blank Archive. Please use in a using block. Use the SaveAs method to export the archive.
Declaration
public IronGZipArchive(int Compression = 9)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | Compression | Optionally set the compression level. 0 is weakest, 9 is highest compression. 9 is default. |
IronGZipArchive(String, Int32)
Open an existing Archive with a filename. Please use in a using block. Use the SaveAs method to export the archive.
Declaration
public IronGZipArchive(string ArchivePath, int Compression = 9)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | ArchivePath | File path to open the existing Archive. Example: You may use an absolute path.
|
| System.Int32 | Compression | Optionally set the compression level. 0 is weakest, 9 is highest compression. 9 is default. |
Methods
Add(String)
Adds an archive entry (file) to the Archive. These entries will appear as files when the Archive is extracted.
Declaration
public void Add(string EntryFilePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | EntryFilePath | Filepath to the archive entry to add |
AddArchiveEntry(String)
Adds an archive entry (file) to the Archive. These entries will appear as files when the Archive is extracted.
Declaration
public void AddArchiveEntry(string EntryFilePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | EntryFilePath | Filepath to the archive entry to add |
Dispose()
Check the license before using IronZIP
Declaration
public override void Dispose()
Overrides
Exceptions
| Type | Condition |
|---|---|
| IronSoftware.Exceptions.LicensingException |
ExtractArchiveToDirectory(String, String)
Will load an Archive and extract it to a Directory (System Folder)
Declaration
public static void ExtractArchiveToDirectory(string ArchiveSourcePath, string SaveDirectoryPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | ArchiveSourcePath | Path to the Archive to extract |
| System.String | SaveDirectoryPath | Directory to extract files to |
ExtractTGZArchiveToDirectory(String, String)
Will load an Archive and extract it to a Directory (System Folder)
Declaration
public static void ExtractTGZArchiveToDirectory(string ArchiveSourcePath, string SaveDirectoryPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | ArchiveSourcePath | Path to the Archive to extract |
| System.String | SaveDirectoryPath | Directory to extract files to |
FromFile(String, Int32)
Creates an Archive with a specific file to add to it. Please use in a using block. Use the SaveAs method to export the archive.
Declaration
public static IronGZipArchive FromFile(string FilePath, int Compression = 9)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | FilePath | File Entry to add to the Archive |
| System.Int32 | Compression | Optionally set the compression level. 0 is weakest, 9 is highest compression. 9 is default. |
Returns
| Type | Description |
|---|---|
| IronGZipArchive | Returns the constructed IronZipArchive with the file entry added. |
FromFiles(String[], Int32)
Creates an Archive with some files to add to it. Please use in a using block. Use the SaveAs method to export the archive.
Declaration
public static IronGZipArchive FromFiles(string[] Paths, int Compression = 9)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String[] | Paths | File Entries to add to the Archive |
| System.Int32 | Compression | Optionally set the compression level. 0 is weakest, 9 is highest compression. 9 is default. |
Returns
| Type | Description |
|---|---|
| IronGZipArchive | Returns the constructed IronGZipArchive with the file entries added. |
Save()
Save the archive
Declaration
public override void Save()
Overrides
Remarks
Users cannot add additional entries after saving
SaveAs(String)
Save the archive to the specified path
Declaration
public override void SaveAs(string Path)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | Path | Save path |
Overrides
Remarks
Users cannot add additional entries after saving