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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru path" je odmítnut.
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.
Soubor na path’ obsahuje kolonu (:) uprostřed řádku.
Soubor je příliš krátk.
daje v souboru mají nesprávný podpis.
Properties
Name
Název originálního souboru.
public string Name { get; }
Hodnota nemovitosti
UncompressedSize
Dostane velikost originálního souboru.
public ulong UncompressedSize { get; }
Hodnota nemovitosti
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
destination’ does not support writing.
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
Informace o extrahovaných souborech.
Exceptions
path’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru path" je odmítnut.
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.
Soubor na path’ obsahuje kolonu (:) uprostřed řádku.
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
destinationDirectory’ is null.
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.
Návštěvník nemá požadované povolení k přístupu k stávajícímu adresáři.
Pokud adresář neexistuje, trasa obsahuje znak kolonu (:) který není součástí štítku disku (“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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>destinationFileName’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru destinationFileName’ je odmítnut.
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.
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
path’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru path" je odmítnut.
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.
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.