Class GzipArchive

Class GzipArchive

Název místa: Aspose.Zip.Gzip Sbírka: Aspose.Zip.dll (25.5.0)

Tato třída představuje soubor archivu gzip. Použijte ho k sestavování nebo extrahování archivů gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Dědiční členové

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

Remarks

Gzip kompresní algoritmus je založen na DEFLATE algoritmu, který je kombinací LZ77 a Huffman kódován.

Constructors

GzipArchive()

Začíná nový příklad třídy Aspose.Zip.Gzip.GzipArchive připravené pro komprese.

public GzipArchive()

Examples

Následující příklad ukazuje, jak komprimovat soubor.

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

GzipArchive(Přívěs, bool)

Začíná nový příklad třídy Aspose.Zip.Gzip.GzipArchive připravené k dekompresován.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Zdroj z archivu.

parseHeader bool

Ať už je to parse stream header zjistit vlastnosti, včetně jména.

Examples

Otevřete archiv z toku a extrahujte ho do

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

Remarks

Tento konstruktér není dekompresní. viz Aspose.Zip.Gzip.GzipArchive.Otevřená metoda dekompresn.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

code class=“paramref”>sourceStream’ má nesprávný podpis.

GzipArchive(Stringová, boolová)

Začíná nový příklad třídy Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Cesta do archivního souboru.

parseHeader bool

Ať už je to parse stream header zjistit vlastnosti, včetně jména.

Examples

Otevřete archiv z souboru podle trasy a extrahujte ho do

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

Remarks

Tento konstruktér není dekompresní. viz Aspose.Zip.Gzip.GzipArchive.Otevřená metoda dekompresn.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path" je odmítnut.

PathTooLongException

Uvedený path", název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows, trasy musí být méně než 248 znaků a názvy souboru musí být méně než 260 znak.

NotSupportedException

Soubor na path’ obsahuje kolonu (:) uprostřed řádku.

EndOfStreamException

Soubor je příliš krátk.

InvalidDataException

daje v souboru mají nesprávný podpis.

Properties

Name

Název originálního souboru.

public string Name { get; }

Hodnota nemovitosti

string

UncompressedSize

Dostane velikost originálního souboru.

public ulong UncompressedSize { get; }

Hodnota nemovitosti

ulong

Remarks

Během dekomprese může tato vlastnost obsahovat nesprávnou velikost.Pokud velikost nekompresovaného souboru překročí 4GB, tato vlastnost poskytne nesprávnou hodnotu v důsledku limitu 32bit v hlav.

Methods

Dispose()

Provádí aplikativně definované úkoly spojené s uvolňováním, uvolňováním nebo resetováním neupravených zdroj.

public void Dispose()

Dispose(Bolíček)

Provádí aplikativně definované úkoly spojené s uvolňováním, uvolňováním nebo resetováním neupravených zdroj.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Je nutné zlikvidovat spravované zdroje.

Extract(Stream)

Vytahuje archiv do poskytnutého toku.

public void Extract(Stream destination)

Parameters

destination Stream

Destinace stream. musí být psateln.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream je korumpován a neobsahuje platné údaje.

Extract(Stringová)

Vytahuje archiv do souboru cestou.

public FileInfo Extract(string path)

Parameters

path string

Cesta k cílovému souboru.Pokud soubor již existuje, bude přepsan.

Returns

FileInfo

Informace o extrahovaných souborech.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path" je odmítnut.

PathTooLongException

Uvedený path", název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows, trasy musí být méně než 248 znaků a názvy souboru musí být méně než 260 znak.

NotSupportedException

Soubor na path’ obsahuje kolonu (:) uprostřed řádku.

InvalidDataException

Stream je korumpován a neobsahuje platné údaje.

ExtractToDirectory(Stringová)

Obsah archivu extrahuje do poskytnutého adresáře.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Cesta do adresáře umístit extrahované soubory do.

Remarks

Pokud adresář neexistuje, bude vytvořen.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Zadaná trasa, název souboru nebo obojí přesahuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být trasa menší než 248 znaků a název souboru musí být menší než 260 znak.

SecurityException

Návštěvník nemá požadované povolení k přístupu k stávajícímu adresáři.

NotSupportedException

Pokud adresář neexistuje, trasa obsahuje znak kolonu (:) který není součástí štítku disku (“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

dek určený cestou je soubor. -or- Název sítě není znám.

Open()

Otevře archiv pro extrahování a poskytuje tok s obsahem archivu.

public Stream Open()

Returns

Stream

Průtok, který představuje obsah archivu.

Examples

Extrahuje archiv a kopíruje extrahovaný obsah do streamování soubor.

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

Můžete použít metodu Stream.CopyTo pro .NET 4.0 a vyšší: unpacked.Kopíto(vyvedeno);

Remarks

Přečtěte si z toku, abyste získali původní obsah souboru.

Save(Stream)

Ušetří archiv na poskytnutém toku.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Destinace v toku.

Examples

Přepisuje komprimované údaje na HTTP reakční proud.

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

Remarks

Musí být psatelná.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Zdroj nebyl dodán.

Save(Stringová)

Ušetří archiv na předloženém cílovém souboru.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Pokud specifikovaný název souboru ukazuje na existující soubor, bude přepisován.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>destinationFileName’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru destinationFileName’ je odmítnut.

PathTooLongException

Uvedený destinationFileName’, název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows musí být trasy menší než 248 znaků a název souboru musí být menší než 260 znak.

NotSupportedException

Soubor na destinationFileName’ obsahuje kolonku (:) uprostřed řádku.

SetSource(Stream)

Vložte obsah, který bude komprimován v archivu.

public void SetSource(Stream source)

Parameters

source Stream

Vstupní proud pro archiv.

Examples

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

SetSource(FileInfo)

Vložte obsah, který bude komprimován v archivu.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

odkaz na soubor, který má být komprimován.

Examples

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

SetSource(Stringová)

Vložte obsah, který bude komprimován v archivu.

public void SetSource(string path)

Parameters

path string

Způsob, jak dosáhnout komprese.

Examples

Otevřete archiv z souboru podle trasy a extrahujte ho do

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path" je odmítnut.

PathTooLongException

Uvedený path", název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows, trasy musí být méně než 248 znaků a názvy souboru musí být méně než 260 znak.

NotSupportedException

Soubor na path’ obsahuje kolonu (:) uprostřed řádku.

SetSource(TarArchive)

Vložte obsah, který bude komprimován v archivu.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Archiv by měl být komprimován.

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

Použijte tuto metodu k sestavování společného archivu tar.gz.

 Čeština