Class GzipArchive

Class GzipArchive

Nombre del espacio: Aspose.Zip.Gzip Asamblea: Aspose.Zip.dll (25.5.0)

Esta clase representa un archivo gzip. Utilice para compilar o extraer archivos gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive ,y, IDisposable ,y, IArchiveFileEntry

Miembros heredados

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

Remarks

El algoritmo de compresión Gzip se basa en el algoritmo DEFLATE, que es una combinación de codificación LZ77 y Huffman.

Constructors

GzipArchive()

Inicia una nueva instancia de la clase Aspose.Zip.Gzip.GzipArchive preparada para la compresión.

public GzipArchive()

Examples

El siguiente ejemplo muestra cómo comprimir un archivo.

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

GzipArchive(El flujo, bool)

Inicia una nueva instancia de la clase Aspose.Zip.Gzip.GzipArchive preparada para la decompresión.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

La fuente del archivo.

parseHeader bool

Ya sea para parse el título de flujo para encontrar propiedades, incluyendo el nombre. hace sentido para el flujo buscable sólo.

Examples

Abrir un archivo de una corriente y extraerlo a una

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

Remarks

Este constructor no descomprende. ver Aspose.Zip.Gzip.GzipArchive.Método abierto para descomprimir.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

El sourceStream’ tiene una firma equivocada.

GzipArchive(Cortesía, Bool)

Inicia una nueva instancia de la clase Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

El camino hacia el archivo.

parseHeader bool

Ya sea para parse el título de flujo para encontrar propiedades, incluyendo el nombre. hace sentido para el flujo buscable sólo.

Examples

Abrir un archivo de un fichero por vía y extraerlo a una

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

Remarks

Este constructor no descomprende. ver Aspose.Zip.Gzip.GzipArchive.Método abierto para descomprimir.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El solicitante no tiene la autorización necesaria para acceder.

ArgumentException

El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.

UnauthorizedAccessException

Se denega el acceso al archivo path.

PathTooLongException

La ruta path", nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en las plataformas basadas en Windows, los caminos deben ser menos de 248 caracteres, y los nombres de archivo deben ser menos de 260 caracteres.

NotSupportedException

El archivo en path’ contiene una columna (:) en el medio de la línea.

EndOfStreamException

El archivo es demasiado corto.

InvalidDataException

Los datos en el archivo tienen una firma equivocada.

Properties

Name

Nombre de un archivo original.

public string Name { get; }

Valor de la propiedad

string

UncompressedSize

Tiene el tamaño de un archivo original.

public ulong UncompressedSize { get; }

Valor de la propiedad

ulong

Remarks

Durante la decompresión, esta propiedad puede contener tamaño incorrecto.Si el tamaño del archivo no comprimido supera 4GB, esta propiedad dará un valor equivocado debido al límite de 32 bits en el encabezado.

Methods

Dispose()

Desempeña tareas definidas por la aplicación asociadas con la liberación, liberación o restablecimiento de recursos no gestionados.

public void Dispose()

Dispose(BOOL)

Desempeña tareas definidas por la aplicación asociadas con la liberación, liberación o restablecimiento de recursos no gestionados.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Los recursos gestionados deben ser eliminados.

Extract(Stream)

Extrae el archivo a la corriente proporcionada.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. debe ser escrito.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

El flujo es corrupto y no contiene datos válidos.

Extract(El string)

Extrae el archivo al archivo por vía.

public FileInfo Extract(string path)

Parameters

path string

El camino hacia el archivo de destino.Si el archivo ya existe, será sobreescrito.

Returns

FileInfo

Información de los archivos extraídos.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El solicitante no tiene la autorización necesaria para acceder.

ArgumentException

El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.

UnauthorizedAccessException

Se denega el acceso al archivo path.

PathTooLongException

La ruta path", nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en las plataformas basadas en Windows, los caminos deben ser menos de 248 caracteres, y los nombres de archivo deben ser menos de 260 caracteres.

NotSupportedException

El archivo en path’ contiene una columna (:) en el medio de la línea.

InvalidDataException

El flujo es corrupto y no contiene datos válidos.

ExtractToDirectory(El string)

Extrae el contenido del archivo al directorio proporcionado.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

El camino hacia el directorio para colocar los archivos extraídos.

Remarks

Si el directorio no existe, se crear.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Por ejemplo, en las plataformas basadas en Windows, los caminos deben ser menos de 248 caracteres y los nombres de archivo deben ser menos de 260 caracteres.

SecurityException

El llamador no tiene el permiso necesario para acceder al directorio existente.

NotSupportedException

Si el directorio no existe, el camino contiene un carácter colon (:) que no forma parte de una etiqueta de disco (“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 directorio especificado por ruta es un archivo. -o- El nombre de red no es conocido.

Open()

Abre el archivo para extracción y proporciona un flujo con contenido de archivo.

public Stream Open()

Returns

Stream

El flujo que representa el contenido del archivo.

Examples

Extrae el archivo y copia el contenido extraído al flujo de archivos.

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

Usted puede usar el método Stream.CopyTo para .NET 4.0 y superior: ‘unpacked.Kopio(extraído);’

Remarks

Leer desde el flujo para obtener el contenido original de un archivo. ver la sección de ejemplos.

Save(Stream)

Salva archivos a la corriente proporcionada.

public void Save(Stream outputStream)

Parameters

outputStream Stream

El flujo de destino.

Examples

Escribe los datos comprimidos en el flujo de respuesta de http.

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

Remarks

Debe ser escrito.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

La fuente no ha sido suministrada.

Save(El string)

Salva archivo al archivo de destino proporcionado.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Si el nombre de archivo especificado indica a un archivo existente, se reescribir.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

El solicitante no tiene la autorización necesaria para acceder.

ArgumentException

El destinationFileName’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.

UnauthorizedAccessException

Se denega el acceso al archivo destinationFileName.

PathTooLongException

La destinationFileName’, nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en las plataformas basadas en Windows, los caminos deben ser menos de 248 caracteres, y los nombres de archivo deben ser menos de 260 caracteres.

NotSupportedException

El archivo en la destinationFileName’ contiene una columna (:) en el medio de la línea.

SetSource(Stream)

Coloca el contenido para ser comprimido dentro del archivo.

public void SetSource(Stream source)

Parameters

source Stream

El flujo de entrada para el archivo.

Examples

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

SetSource(FileInfo)

Coloca el contenido para ser comprimido dentro del archivo.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

La referencia a un archivo para ser comprimido.

Examples

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

SetSource(El string)

Coloca el contenido para ser comprimido dentro del archivo.

public void SetSource(string path)

Parameters

path string

El camino para que el archivo sea comprimido.

Examples

Abrir un archivo de un fichero por vía y extraerlo a una

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El solicitante no tiene la autorización necesaria para acceder.

ArgumentException

El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.

UnauthorizedAccessException

Se denega el acceso al archivo path.

PathTooLongException

La ruta path", nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en las plataformas basadas en Windows, los caminos deben ser menos de 248 caracteres, y los nombres de archivo deben ser menos de 260 caracteres.

NotSupportedException

El archivo en path’ contiene una columna (:) en el medio de la línea.

SetSource(TarArchive)

Coloca el contenido para ser comprimido dentro del archivo.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Archivo para ser comprimido.

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

Utilice este método para componer archivos conjuntos tar.gz.

 Español