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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path" wird abgelehnt.
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.
Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.
Die Datei ist zu kurz.
Die Daten im Datei haben eine falsche Signatur.
Properties
Name
Name einer ursprünglichen Datei.
public string Name { get; }
Eigentumswert
UncompressedSize
Er bekommt die Größe eines ursprünglichen Datei.
public ulong UncompressedSize { get; }
Eigentumswert
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
destination’ does not support writing.
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
Informationen zu extrahierten Dateien.
Exceptions
path’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path" wird abgelehnt.
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.
Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.
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
destinationDirectory’ is null.
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.
Der Anrufgeber hat nicht die erforderliche Erlaubnis, das bestehende Direktorium zuzugreifen.
Wenn das Direktorium nicht existiert, enthält der Pfad einen Kolonkarakter (:) der nicht Teil eines Labels ist (“C:”).
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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die destinationFileName’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei destinationFileName’ wird abgelehnt.
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.
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
path’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path" wird abgelehnt.
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.
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.