Class GzipArchive

Class GzipArchive

Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)

Diese Klasse repräsentiert eine gzip-Archivdatei. Verwenden Sie sie, um gzip-Archive zu erstellen oder zu extrahieren.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Vererbung

objectGzipArchive

Implementiert

IArchive, IDisposable, IArchiveFileEntry

Vererbte Mitglieder

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Bemerkungen

Der Gzip-Komprimierungsalgorithmus basiert auf dem DEFLATE-Algorithmus, der eine Kombination aus LZ77 und Huffman-Codierung ist.

Konstruktoren

GzipArchive()

Initialisiert eine neue Instanz der Aspose.Zip.Gzip.GzipArchive-Klasse, die für die Komprimierung vorbereitet ist.

public GzipArchive()

Beispiele

Das folgende Beispiel zeigt, wie man eine Datei komprimiert.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Stream, bool)

Initialisiert eine neue Instanz der Aspose.Zip.Gzip.GzipArchive-Klasse, die für die Dekomprimierung vorbereitet ist.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameter

sourceStream Stream

Die Quelle des Archivs.

parseHeader bool

Ob der Stream-Header analysiert werden soll, um Eigenschaften, einschließlich des Namens, zu ermitteln. Macht nur für durchsuchbare Streams Sinn.

Beispiele

Öffnen Sie ein Archiv aus einem Stream und extrahieren Sie es in einen MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Bemerkungen

Dieser Konstruktor führt keine Dekomprimierung durch. Siehe die Methode Aspose.Zip.Gzip.GzipArchive.Open zum Dekomprimieren.

GzipArchive(string, bool)

Initialisiert eine neue Instanz der Aspose.Zip.Gzip.GzipArchive-Klasse.

public GzipArchive(string path, bool parseHeader = false)

Parameter

path string

Der Pfad zur Archivdatei.

parseHeader bool

Ob der Stream-Header analysiert werden soll, um Eigenschaften, einschließlich des Namens, zu ermitteln. Macht nur für durchsuchbare Streams Sinn.

Beispiele

Öffnen Sie ein Archiv aus einer Datei über den Pfad und extrahieren Sie es in einen MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Bemerkungen

Dieser Konstruktor führt keine Dekomprimierung durch. Siehe die Methode Aspose.Zip.Gzip.GzipArchive.Open zum Dekomprimieren.

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung für den Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

Eigenschaften

Name

Name der Originaldatei.

public string Name { get; }

Eigenschaftswert

string

Methoden

Dispose()

Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.

public void Dispose()

Dispose(bool)

Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Ob verwaltete Ressourcen freigegeben werden sollen.

Extract(Stream)

Extrahiert das Archiv in den bereitgestellten Stream.

public void Extract(Stream destination)

Parameter

destination Stream

Zielstream. Muss beschreibbar sein.

Beispiele

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Ausnahmen

ArgumentException

destination unterstützt kein Schreiben.

InvalidDataException

Der Stream ist beschädigt und enthält keine gültigen Daten.

Extract(string)

Extrahiert das Archiv in die Datei über den Pfad.

public FileInfo Extract(string path)

Parameter

path string

Der Pfad zur Zieldatei. Wenn die Datei bereits existiert, wird sie überschrieben.

Rückgabewert

FileInfo

Informationen zur extrahierten Datei.

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung für den Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

InvalidDataException

Der Stream ist beschädigt und enthält keine gültigen Daten.

ExtractToDirectory(string)

Extrahiert den Inhalt des Archivs in das bereitgestellte Verzeichnis.

public void ExtractToDirectory(string destinationDirectory)

Parameter

destinationDirectory string

Der Pfad zum Verzeichnis, in das die extrahierten Dateien abgelegt werden sollen.

Bemerkungen

Wenn das Verzeichnis nicht existiert, wird es erstellt.

Ausnahmen

ArgumentNullException

destinationDirectory ist null.

PathTooLongException

Der angegebene Pfad, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung, um auf das vorhandene Verzeichnis zuzugreifen.

NotSupportedException

Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das nicht Teil eines Laufwerksbezeichners (“C:") ist.

ArgumentException

destinationDirectory ist eine Nullzeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können nach ungültigen Zeichen suchen, indem Sie die Methode System.IO.Path.GetInvalidPathChars verwenden. -oder- der Pfad ist mit oder enthält nur ein Doppelzeichen (:) vorangestellt.

IOException

Das durch den Pfad angegebene Verzeichnis ist eine Datei. -oder- Der Netzwerkname ist unbekannt.

Open()

Öffnet das Archiv zur Extraktion und stellt einen Stream mit dem Archivinhalt bereit.

public Stream Open()

Rückgabewert

Stream

Der Stream, der den Inhalt des Archivs darstellt.

Beispiele

Extrahiert das Archiv und kopiert den extrahierten Inhalt in einen Dateistream.

using (var archive = new GzipArchive("archive.gz"))
{
    using (var extracted = File.Create("data.bin"))
    {
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }            
}

Sie können die Methode Stream.CopyTo für .NET 4.0 und höher verwenden: `unpacked.CopyTo(extracted);`

Bemerkungen

Lesen Sie aus dem Stream, um den ursprünglichen Inhalt der Datei zu erhalten. Siehe Abschnitt Beispiele.

Save(Stream)

Speichert das Archiv im bereitgestellten Stream.

public void Save(Stream outputStream)

Parameter

outputStream Stream

Zielstream.

Beispiele

Schreibt komprimierte Daten in den HTTP-Antwortstream.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Bemerkungen

outputStream muss beschreibbar sein.

Ausnahmen

ArgumentException

outputStream ist nicht beschreibbar.

InvalidOperationException

Die Quelle wurde nicht bereitgestellt.

Save(string)

Speichert das Archiv in der angegebenen Zieldatei.

public void Save(string destinationFileName)

Parameter

destinationFileName string

Der Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird diese überschrieben.

Beispiele

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Ausnahmen

ArgumentNullException

destinationFileName ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung für den Zugriff.

ArgumentException

Der destinationFileName ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei destinationFileName ist verweigert.

PathTooLongException

Der angegebene destinationFileName, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter destinationFileName enthält einen Doppelpunkt (:) in der Mitte des Strings.

SetSource(Stream)

Legt den Inhalt fest, der im Archiv komprimiert werden soll.

public void SetSource(Stream source)

Parameter

source Stream

Der Eingabestream für das Archiv.

Beispiele

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Legt den Inhalt fest, der im Archiv komprimiert werden soll.

public void SetSource(FileInfo fileInfo)

Parameter

fileInfo FileInfo

Die Referenz auf eine Datei, die komprimiert werden soll.

Beispiele

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(string)

Legt den Inhalt fest, der im Archiv komprimiert werden soll.

public void SetSource(string path)

Parameter

path string

Pfad zur Datei, die komprimiert werden soll.

Beispiele

Öffnen Sie ein Archiv aus einer Datei über den Pfad und extrahieren Sie es in einen MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung für den Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path ist verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die vom System definierten maximalen Längen. Zum Beispiel müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

SetSource(TarArchive)

Legt den Inhalt fest, der im Archiv komprimiert werden soll.

public void SetSource(TarArchive tarArchive)

Parameter

tarArchive TarArchive

Tar-Archiv, das komprimiert werden soll.

Beispiele

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var gzippedArchive = new GzipArchive())
    {
           gzippedArchive.SetSource(tarArchive);
           gzippedArchive.Save("archive.tar.gz");
    }
}

Bemerkungen

Verwenden Sie diese Methode, um ein gemeinsames tar.gz-Archiv zu erstellen.

 Deutsch