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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
El solicitante no tiene la autorización necesaria para acceder.
El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.
Se denega el acceso al archivo path.
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.
El archivo en path’ contiene una columna (:) en el medio de la línea.
El archivo es demasiado corto.
Los datos en el archivo tienen una firma equivocada.
Properties
Name
Nombre de un archivo original.
public string Name { get; }
Valor de la propiedad
UncompressedSize
Tiene el tamaño de un archivo original.
public ulong UncompressedSize { get; }
Valor de la propiedad
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
destination’ does not support writing.
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
Información de los archivos extraídos.
Exceptions
path’ is null.
El solicitante no tiene la autorización necesaria para acceder.
El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.
Se denega el acceso al archivo path.
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.
El archivo en path’ contiene una columna (:) en el medio de la línea.
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
destinationDirectory’ is null.
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.
El llamador no tiene el permiso necesario para acceder al directorio existente.
Si el directorio no existe, el camino contiene un carácter colon (:) que no forma parte de una etiqueta de disco (“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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
El solicitante no tiene la autorización necesaria para acceder.
El destinationFileName’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.
Se denega el acceso al archivo destinationFileName.
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.
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
path’ is null.
El solicitante no tiene la autorización necesaria para acceder.
El path’ es vacío, contiene solo espacios blancos, o contiene caracteres invalidos.
Se denega el acceso al archivo path.
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.
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.