Class GzipArchive

Class GzipArchive

Der Name: Aspose.Zip.Gzip Versammlung: Aspose.Zip.dll (25.5.0)

Diese Klasse stellt eine gzip-Archivdatei dar. Verwenden Sie es, um gzip-Archive zu komponieren oder zu extrahieren.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Vererbte Mitglieder

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

Remarks

Das Gzip-Compression-Algorithmus basiert auf dem DEFLATE-Algorithmus, das eine Kombination von LZ77 und Huffman-Coding ist.

Constructors

GzipArchive()

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

public GzipArchive()

Examples

Das folgende Beispiel zeigt, wie man eine Datei komprimiert.

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

GzipArchive(Stream und Bool)

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

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Die Quelle des Archivs.

parseHeader bool

Ob zum Parse Stream-Header, um Eigenschaften zu finden, einschließlich des Namens. macht Sinn für Suchbar Stream nur.

Examples

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

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

Remarks

Dieser Konstruktor dekomprimiert nicht. siehe Aspose.Zip.Gzip.GzipArchive.Open Methode für dekomprimieren.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

Die sourceStream’ hat eine falsche Signatur.

GzipArchive(String und Bool)

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

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Der Weg zum Archiv.

parseHeader bool

Ob zum Parse Stream-Header, um Eigenschaften zu finden, einschließlich des Namens. macht Sinn für Suchbar Stream nur.

Examples

Öffnen Sie ein Archiv aus dem Datei nach Pfad und extrahieren Sie es in eine

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

Remarks

Dieser Konstruktor dekomprimiert nicht. siehe Aspose.Zip.Gzip.GzipArchive.Open Methode für dekomprimieren.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path" wird abgelehnt.

PathTooLongException

Die angegebenen path’, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.

NotSupportedException

Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.

EndOfStreamException

Die Datei ist zu kurz.

InvalidDataException

Die Daten im Datei haben eine falsche Signatur.

Properties

Name

Name einer ursprünglichen Datei.

public string Name { get; }

Eigentumswert

string

UncompressedSize

Er bekommt die Größe eines ursprünglichen Datei.

public ulong UncompressedSize { get; }

Eigentumswert

ulong

Remarks

Wenn die unkomprimierte Dateigröße 4GB überschreitet, wird diese Eigenschaft aufgrund der 32-Bit-Grenze im Header einen falschen Wert geben.

Methods

Dispose()

Er erfüllt anwendungsdefinierte Aufgaben, die mit der Freisetzung, Freisetzung oder Wiederherstellung unverwalter Ressourcen verbunden sind.

public void Dispose()

Dispose(Bool)

Er erfüllt anwendungsdefinierte Aufgaben, die mit der Freisetzung, Freisetzung oder Wiederherstellung unverwalter Ressourcen verbunden sind.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Ob verwaltete Ressourcen abgeschieden werden sollten.

Extract(Stream)

Entfernen Sie das Archiv in den bereitgestellten Strom.

public void Extract(Stream destination)

Parameters

destination Stream

Destination Stream. muss geschrieben werden.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream ist korrupt und enthält keine gültigen Daten.

Extract(String)

Entfernen Sie das Archiv in die Datei per Pfad.

public FileInfo Extract(string path)

Parameters

path string

Der Weg zum Zieldatei.Wenn die Datei bereits existiert, wird sie übergeschrieben.

Returns

FileInfo

Informationen zu extrahierten Dateien.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path" wird abgelehnt.

PathTooLongException

Die angegebenen path’, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.

NotSupportedException

Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.

InvalidDataException

Stream ist korrupt und enthält keine gültigen Daten.

ExtractToDirectory(String)

Entfernen Sie die Inhalte des Archivs in die bereitgestellte Kataloge.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Der Weg zum Katalog, um die extrahierten Dateien in.

Remarks

Wenn das Katalog nicht existiert, wird es erstellt.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Die angegebenen Path, Dateinamen oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel müssen auf Windows-basierten Plattformen Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis, das bestehende Direktorium zuzugreifen.

NotSupportedException

Wenn das Direktorium nicht existiert, enthält der Pfad einen Kolonkarakter (:) der nicht Teil eines Labels ist (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).

IOException

Die durch den Weg angegebenen Katalog ist eine Datei. -or- Der Netzwerkname ist nicht bekannt.

Open()

ffnet das Archiv für die Extraktion und bietet einen Strom mit Archivinhalt.

public Stream Open()

Returns

Stream

Der Strom, der die Inhalte des Archivs darstellt.

Examples

Er extrahiert das Archiv und kopiert extrahierte Inhalte zum Stream von Dateien.

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.KopieTo(extracted);

Remarks

Lesen Sie aus dem Stream, um den ursprünglichen Inhalt einer Datei zu erhalten.

Save(Stream)

Speichern Sie Archive für den bereitgestellten Strom.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Der Destinationstrom.

Examples

Schreiben Sie komprimierte Daten in den HTTP-Reaktionsstrom.

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

Remarks

Es muss geschrieben werden.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Quelle wurde nicht bereitgestellt.

Save(String)

Speichern Sie das Archiv auf die bereitgestellte Zieldatei.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Wenn der angegebenen Datei-Name auf eine bestehende Datei bezieht, wird sie übergeschrieben.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die destinationFileName’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei destinationFileName’ wird abgelehnt.

PathTooLongException

Die angegebenen destinationFileName’, Dateiname, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Spuren weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen sein.

NotSupportedException

Datei bei destinationFileName’ enthält eine Kolonne (:) in der Mitte der Zeile.

SetSource(Stream)

Setzen Sie die Inhalte, die im Archiv komprimiert werden sollen.

public void SetSource(Stream source)

Parameters

source Stream

Der Eintrittsstrom für das Archiv.

Examples

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

SetSource(FileInfo)

Setzen Sie die Inhalte, die im Archiv komprimiert werden sollen.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Die Bezugnahme auf eine Datei, die komprimiert werden soll.

Examples

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

SetSource(String)

Setzen Sie die Inhalte, die im Archiv komprimiert werden sollen.

public void SetSource(string path)

Parameters

path string

Der Weg zum Datei zu komprimieren.

Examples

Öffnen Sie ein Archiv aus dem Datei nach Pfad und extrahieren Sie es in eine

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path" wird abgelehnt.

PathTooLongException

Die angegebenen path’, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.

NotSupportedException

Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.

SetSource(TarArchive)

Setzen Sie die Inhalte, die im Archiv komprimiert werden sollen.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Das Archiv muss komprimiert werden.

Examples

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

Remarks

Verwenden Sie diese Methode, um das gemeinsame tar.gz-Archiv zu erstellen.

 Deutsch