Class GzipArchive

Class GzipArchive

Nom dels espais: Aspose.Zip.Gzip Assemblea: Aspose.Zip.dll (25.5.0)

Aquesta classe representa un arxiu gzip. Utilitzeu-lo per compondre o extreure arxius gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Membres heretats

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

Remarks

L’algoritme de compressió Gzip es basa en l’algoritme DEFLATE, que és una combinació de codificació LZ77 i Huffman.

Constructors

GzipArchive()

Inicialitza una nova instància de la classe Aspose.Zip.GzipArchive preparada per a la compressi.

public GzipArchive()

Examples

L’exemple següent mostra com comprimir un fitxer.

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

GzipArchive(El tren, el bool)

Inicia una nova instància de la classe Aspose.Zip.GzipArchive preparada per a la decompressi.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

La font de l’arxiu.

parseHeader bool

No obstant això, per a parsear el títol de flux per descobrir les propietats, inclòs el nom. fa sentit per a flux solament buscable.

Examples

Obre un arxiu d’un corrent i extreure’l a un

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

Remarks

Aquest constructor no descomprimeix. Veure Aspose.Zip.Gzip.GzipArchive.Metode obert per descomprimir.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

El sourceStream’ té la signatura equivocada.

GzipArchive(Tàrrega, Bool)

Inicialitza una nova instància de la classe Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

El camí cap a l’arxiu.

parseHeader bool

No obstant això, per a parsear el títol de flux per descobrir les propietats, inclòs el nom. fa sentit per a flux solament buscable.

Examples

Obre un arxiu del fitxer per ruta i extreure-lo a un

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

Remarks

Aquest constructor no descomprimeix. Veure Aspose.Zip.Gzip.GzipArchive.Metode obert per descomprimir.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

La path’ és buida, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer path" es nega.

PathTooLongException

El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a path’ conté una columna (:) al mig de la cadena.

EndOfStreamException

El fitxer és massa curt.

InvalidDataException

Les dades en el fitxer tenen la signatura equivocada.

Properties

Name

Nom d’un fitxer original.

public string Name { get; }

Valor de la propietat

string

UncompressedSize

Obté la mida d’un fitxer original.

public ulong UncompressedSize { get; }

Valor de la propietat

ulong

Remarks

En el moment de la decompressió, aquesta propietat pot contenir una mida incorrecta.Si la mida del fitxer no comprès supera 4GB, aquesta propietat donarà un valor equivocat a causa de la limitació de 32 bits en el títol.

Methods

Dispose()

Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.

public void Dispose()

Dispose(La botiga)

Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

S’han de disposar de recursos gestionats.

Extract(Stream)

L’arxiu s’extreu al flux proporcionat.

public void Extract(Stream destination)

Parameters

destination Stream

La destinació ha de ser escrita.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

El flux és corrupte i no conté dades vàlides.

Extract(Tàrrega)

Extreure l’arxiu al fitxer per cam.

public FileInfo Extract(string path)

Parameters

path string

El camí a l’arxiu de destinació. Si el fitxer ja existeix, serà sobreescrit.

Returns

FileInfo

Informació de fitxers extraïts.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

La path’ és buida, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer path" es nega.

PathTooLongException

El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a path’ conté una columna (:) al mig de la cadena.

InvalidDataException

El flux és corrupte i no conté dades vàlides.

ExtractToDirectory(Tàrrega)

Extreu el contingut de l’arxiu a la direcció proporcionada.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

El camí a la direcció per col·locar els arxius extraïts.

Remarks

Si la direcció no existeix, es crear.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters i els noms de fitxers han de ser menys de 260 caràcters.

SecurityException

El sol·licitant no té l’autorització necessària per accedir a la direcció existent.

NotSupportedException

Si el directori no existeix, el recorregut conté un caràcter colon (:) que no forma part d’una etiqueta de disc (“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

El directori especificat per ruta és un arxiu. -o- El nom de la xarxa no és conegut.

Open()

Obre l’arxiu per a l’extracció i proporciona un flux amb contingut d’arxiu.

public Stream Open()

Returns

Stream

El corrent que representa el contingut de l’arxiu.

Examples

Extrata l’arxiu i copia el contingut extraït al flux de fitxers.

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

Podeu utilitzar el mètode Stream.CopyTo per a .NET 4.0 i més alt: ‘unpacked.KopiTo(extraït);’

Remarks

Llegeix des del flux per obtenir el contingut original d’un fitxer. Veure secció exemples.

Save(Stream)

Salva l’arxiu al corrent proporcionat.

public void Save(Stream outputStream)

Parameters

outputStream Stream

El flux de destinaci.

Examples

Escriu les dades comprimides al flux de resposta HTTP.

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

Remarks

Ha de ser escriïble.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

La font no s’ha proporcionat.

Save(Tàrrega)

Salva l’arxiu al fitxer de destinació proporcionat.

public void Save(string destinationFileName)

Parameters

destinationFileName string

El camí de l’arxiu que s’ha de crear. Si el nom de fitxer especificat indica un fitxer existent, serà sobreescrit.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

El destinationFileName’ és buit, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer destinationFileName’ és negat.

PathTooLongException

El nom de fitxer especificat destinationFileName, o ambdós superen la longitud màxima definida pel sistema. Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a destinationFileName’ conté una columna (:) al mig de la cadena.

SetSource(Stream)

Establir el contingut per a ser comprès dins de l’arxiu.

public void SetSource(Stream source)

Parameters

source Stream

El flux d’entrada per a l’arxiu.

Examples

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

SetSource(FileInfo)

Establir el contingut per a ser comprès dins de l’arxiu.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

La referència a un arxiu a ser comprès.

Examples

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

SetSource(Tàrrega)

Establir el contingut per a ser comprès dins de l’arxiu.

public void SetSource(string path)

Parameters

path string

El camí per a arxiu per a ser comprès.

Examples

Obre un arxiu del fitxer per ruta i extreure-lo a un

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

La path’ és buida, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer path" es nega.

PathTooLongException

El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a path’ conté una columna (:) al mig de la cadena.

SetSource(TarArchive)

Establir el contingut per a ser comprès dins de l’arxiu.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Arxiu per a ser comprès.

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

Utilitzeu aquest mètode per compondre l’arxiu tar.gz.

 Català