Class GzipArchive

Class GzipArchive

Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)

Esta clase representa un archivo de archivo gzip. Úselo para componer o extraer archivos gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Herencia

objectGzipArchive

Implementa

IArchive, IDisposable, IArchiveFileEntry

Miembros heredados

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

Observaciones

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

Constructores

GzipArchive()

Inicializa una nueva instancia de la clase Aspose.Zip.Gzip.GzipArchive preparada para comprimir.

public GzipArchive()

Ejemplos

El siguiente ejemplo muestra cómo comprimir un archivo.

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

GzipArchive(Stream, bool)

Inicializa una nueva instancia de la clase Aspose.Zip.Gzip.GzipArchive preparada para descomprimir.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parámetros

sourceStream Stream

La fuente del archivo.

parseHeader bool

Si se debe analizar el encabezado del flujo para determinar propiedades, incluido el nombre. Tiene sentido solo para flujos que se pueden buscar.

Ejemplos

Abre un archivo desde un flujo y lo extrae a un MemoryStream

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

Observaciones

Este constructor no descomprime. Consulte el método Aspose.Zip.Gzip.GzipArchive.Open para descomprimir.

GzipArchive(string, bool)

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

public GzipArchive(string path, bool parseHeader = false)

Parámetros

path string

La ruta al archivo de archivo.

parseHeader bool

Si se debe analizar el encabezado del flujo para determinar propiedades, incluido el nombre. Tiene sentido solo para flujos que se pueden buscar.

Ejemplos

Abre un archivo desde la ruta y lo extrae a un MemoryStream

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

Observaciones

Este constructor no descomprime. Consulte el método Aspose.Zip.Gzip.GzipArchive.Open para descomprimir.

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

El path está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

El acceso al archivo path está denegado.

PathTooLongException

La path, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

NotSupportedException

El archivo en path contiene dos puntos (:) en medio de la cadena.

Propiedades

Name

Nombre del archivo original.

public string Name { get; }

Valor de la propiedad

string

Métodos

Dispose()

Realiza tareas definidas por la aplicación asociadas con la liberación, liberación o reinicio de recursos no administrados.

public void Dispose()

Dispose(bool)

Realiza tareas definidas por la aplicación asociadas con la liberación, liberación o reinicio de recursos no administrados.

protected virtual void Dispose(bool disposing)

Parámetros

disposing bool

Si los recursos administrados deben ser liberados.

Extract(Stream)

Extrae el archivo al flujo proporcionado.

public void Extract(Stream destination)

Parámetros

destination Stream

Flujo de destino. Debe ser escribible.

Ejemplos

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

Excepciones

ArgumentException

destination no admite escritura.

InvalidDataException

El flujo está dañado y no contiene datos válidos.

Extract(string)

Extrae el archivo al archivo por la ruta.

public FileInfo Extract(string path)

Parámetros

path string

La ruta al archivo de destino. Si el archivo ya existe, será sobrescrito.

Devuelve

FileInfo

Información del archivo extraído.

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

El path está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

El acceso al archivo path está denegado.

PathTooLongException

La path, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

NotSupportedException

El archivo en path contiene dos puntos (:) en medio de la cadena.

InvalidDataException

El flujo está dañado y no contiene datos válidos.

ExtractToDirectory(string)

Extrae el contenido del archivo al directorio proporcionado.

public void ExtractToDirectory(string destinationDirectory)

Parámetros

destinationDirectory string

La ruta al directorio donde se colocarán los archivos extraídos.

Observaciones

Si el directorio no existe, se creará.

Excepciones

ArgumentNullException

destinationDirectory es nulo.

PathTooLongException

La ruta especificada, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

SecurityException

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

NotSupportedException

Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").

ArgumentException

destinationDirectory es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos. Puede consultar los caracteres no válidos utilizando el método System.IO.Path.GetInvalidPathChars. -o- la ruta está precedida por, o contiene, solo un carácter de dos puntos (:).

IOException

El directorio especificado por la ruta es un archivo. -o- El nombre de red no es conocido.

Open()

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

public Stream Open()

Devuelve

Stream

El flujo que representa el contenido del archivo.

Ejemplos

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

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

Puede usar el método Stream.CopyTo para .NET 4.0 y superior: `unpacked.CopyTo(extracted);`

Observaciones

Lea desde el flujo para obtener el contenido original del archivo. Consulte la sección de ejemplos.

Save(Stream)

Guarda el archivo en el flujo proporcionado.

public void Save(Stream outputStream)

Parámetros

outputStream Stream

Flujo de destino.

Ejemplos

Escribe datos comprimidos en el flujo de respuesta http.

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

Observaciones

outputStream debe ser escribible.

Excepciones

ArgumentException

outputStream no es escribible.

InvalidOperationException

No se ha suministrado la fuente.

Save(string)

Guarda el archivo en el archivo de destino proporcionado.

public void Save(string destinationFileName)

Parámetros

destinationFileName string

La ruta del archivo que se creará. Si el nombre de archivo especificado apunta a un archivo existente, será sobrescrito.

Ejemplos

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

Excepciones

ArgumentNullException

destinationFileName es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

El destinationFileName está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

El acceso al archivo destinationFileName está denegado.

PathTooLongException

El destinationFileName, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

NotSupportedException

El archivo en destinationFileName contiene un carácter de dos puntos (:) en medio de la cadena.

SetSource(Stream)

Establece el contenido que se va a comprimir dentro del archivo.

public void SetSource(Stream source)

Parámetros

source Stream

El flujo de entrada para el archivo.

Ejemplos

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

SetSource(FileInfo)

Establece el contenido que se va a comprimir dentro del archivo.

public void SetSource(FileInfo fileInfo)

Parámetros

fileInfo FileInfo

La referencia a un archivo que se va a comprimir.

Ejemplos

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

SetSource(string)

Establece el contenido que se va a comprimir dentro del archivo.

public void SetSource(string path)

Parámetros

path string

Ruta al archivo que se va a comprimir.

Ejemplos

Abre un archivo desde la ruta y lo extrae a un MemoryStream

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

Excepciones

ArgumentNullException

path es nulo.

SecurityException

El llamador no tiene el permiso requerido para acceder.

ArgumentException

El path está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.

UnauthorizedAccessException

El acceso al archivo path está denegado.

PathTooLongException

El path, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.

NotSupportedException

El archivo en path contiene un carácter de dos puntos (:) en medio de la cadena.

SetSource(TarArchive)

Establece el contenido que se va a comprimir dentro del archivo.

public void SetSource(TarArchive tarArchive)

Parámetros

tarArchive TarArchive

Archivo tar que se va a comprimir.

Ejemplos

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

Observaciones

Utilice este método para componer un archivo tar.gz conjunto.

 Español