Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

GZipStream (Clase)

Proporciona los métodos y propiedades que permiten comprimir y descomprimir secuencias.

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      System.IO.Compression.GZipStream

Espacio de nombres:  System.IO.Compression
Ensamblado:  System (en System.dll)

public class GZipStream : Stream

El tipo GZipStream expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsGZipStream(Stream, CompressionLevel)Inicializa una nueva instancia de la clase GZipStream usando la secuencia y nivel de compresión especificados.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGZipStream(Stream, CompressionMode)Inicializa una nueva instancia de la clase GZipStream usando la secuencia y modo de compresión especificados.
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsGZipStream(Stream, CompressionLevel, Boolean)Inicializa una nueva instancia de la clase GZipStream usando la secuencia y nivel de compresión especificados y, opcionalmente, deja la secuencia abierta.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGZipStream(Stream, CompressionMode, Boolean)Inicializa una nueva instancia de la clase GZipStream usando la secuencia y modo de compresión especificados y, opcionalmente, deja la secuencia abierta.
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBaseStreamObtiene una referencia a la secuencia subyacente.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanReadObtiene un valor que indica si la secuencia admite operaciones de lectura mientras se descomprime un archivo. (Invalida a Stream.CanRead).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanSeekObtiene un valor que indica si la secuencia admite operaciones de búsqueda. (Invalida a Stream.CanSeek).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanTimeoutObtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual. (Se hereda de Stream).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanWriteObtiene un valor que indica si la secuencia admite operaciones de escritura. (Invalida a Stream.CanWrite).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLengthEsta propiedad no se admite y siempre produce una excepción NotSupportedException. (Invalida a Stream.Length).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPositionEsta propiedad no se admite y siempre produce una excepción NotSupportedException. (Invalida a Stream.Position).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadTimeoutObtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera. (Se hereda de Stream).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteTimeoutObtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera. (Se hereda de Stream).
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableBeginReadComienza una operación de lectura asincrónica. (Considere usar el método Stream.ReadAsync en su lugar; vea la sección comentarios). (Invalida a Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableBeginWriteComienza una operación de escritura asincrónica. (Considere usar el método Stream.WriteAsync en su lugar; vea la sección comentarios). (Invalida a Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)).
Método públicoCompatible con XNA FrameworkCloseCierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta. En lugar de llamar a este método, asegúrese de que el flujo se desecha correctamente. (Se hereda de Stream).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyTo(Stream)Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino. (Se hereda de Stream).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyTo(Stream, Int32)Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsCopyToAsync(Stream)Lee asincrónicamente todos los bytes de la secuencia actual y los escribe en otra secuencia. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsCopyToAsync(Stream, Int32)Lee asincrónicamente todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsCopyToAsync(Stream, Int32, CancellationToken)Lee asincrónicamente los bytes de la secuencia actual y los escribe en otro flujo, utilizando el tamaño de búfer especificado y el token de cancelación. (Se hereda de Stream).
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método protegidoCompatible con XNA FrameworkCreateWaitHandle Obsoleta. Asigna un objeto WaitHandle. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDispose()Libera todos los recursos utilizados por Stream. (Se hereda de Stream).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDispose(Boolean)Libera los recursos no administrados que utiliza GZipStream y libera los recursos administrados de forma opcional. (Invalida a Stream.Dispose(Boolean)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableEndReadEspera a que se complete la lectura asincrónica que se encuentra pendiente. (Puede usar el método Stream.ReadAsync en su lugar; vea la sección comentarios.) (Invalida a Stream.EndRead(IAsyncResult)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableEndWriteControla el final de una operación de escritura asincrónica. (Considere usar el método Stream.WriteAsync en su lugar; vea la sección comentarios). (Invalida a Stream.EndWrite(IAsyncResult)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFlushLa implementación actual de este método no tiene funcionalidad. (Invalida a Stream.Flush()).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsFlushAsync()Borra asincrónicamente todos los búferes para este flujo y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsFlushAsync(CancellationToken)Borra asincrónicamente todos los búferes del flujo actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemberwiseClone() Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método protegidoObjectInvariantInfraestructura. Obsoleta. Proporciona compatibilidad con una clase Contract. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadIntroduce varios bytes descomprimidos leídos en la matriz de bytes especificada. (Invalida a Stream.Read(Byte[], Int32, Int32)).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsReadAsync(Byte[], Int32, Int32)Lee asincrónicamente una secuencia de bytes de la secuencia actual y avanza la posición en esta secuencia según el número de bytes leídos. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsReadAsync(Byte[], Int32, Int32, CancellationToken)Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadByteLee un byte de la secuencia y hace avanzar la posición de la secuencia en un byte, o devuelve -1 si está al final de la secuencia. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSeekEsta propiedad no se admite y siempre produce una excepción NotSupportedException. (Invalida a Stream.Seek(Int64, SeekOrigin)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSetLengthEsta propiedad no se admite y siempre produce una excepción NotSupportedException. (Invalida a Stream.SetLength(Int64)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteEscribe los bytes comprimidos en la secuencia subyacente de la matriz de bytes especificada. (Invalida a Stream.Write(Byte[], Int32, Int32)).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsWriteAsync(Byte[], Int32, Int32)Escribe asincrónicamente una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsWriteAsync(Byte[], Int32, Int32, CancellationToken)Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteByteEscribe un byte a la posición actual en la secuencia y avanza la posición de la secuencia en un byte. (Se hereda de Stream).
Arriba

  NombreDescripción
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsAsInputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de entrada en Windows en tiempo de ejecución. (Definido por WindowsRuntimeStreamExtensions).
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsAsOutputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de salida en Windows en tiempo de ejecución. (Definido por WindowsRuntimeStreamExtensions).
Arriba

Esta clase representa el formato de datos de gzip, que utiliza un algoritmo estándar del sector para la compresión de archivos y la descompresión sin pérdidas. El formato incluye un valor de prueba cíclica de redundancia para detectar daños en los datos. El formato de datos gzip utiliza el mismo algoritmo que la clase DeflateStream, pero se puede extender para que utilice otros formatos de compresión. El formato se puede implementar con facilidad de una manera no protegida por patentes.

A partir de .NET Framework 4.5, la clase de DeflateStream utiliza la biblioteca de zlib para compresión. Como resultado, proporciona mejor algoritmo de compresión y, en la mayoría de los casos, un archivo comprimido más pequeño que proporciona en versiones anteriores de .NET Framework.

Los objetos comprimidos de GZipStream escritos en un archivo con la extensión .gz se pueden descomprimir utilizando muchas herramientas comunes de compresión; sin embargo, esta clase inherentemente no proporciona la funcionalidad para agregar archivos a o extraer los archivos de los archivos de código postal.

La funcionalidad de compresión en DeflateStream y GZipStream se expone como una secuencia. Los datos se lee en una base de byte-por- byte, por lo que no es posible realizar varios pasa para determinar el mejor método para comprimir los archivos completos o bloques grandes de datos. Las clases DeflateStream y GZipStream se utilizan de forma óptima en orígenes de datos sin comprimir. Si los datos de origen ya están comprimidos, el uso de estas clases puede aumentar el tamaño de la secuencia.

Notas para los herederos

Cuando se hereda de GZipStream, deben reemplazarse los miembros siguientes: CanSeek, CanWrite y CanRead.

En el ejemplo siguiente se muestra cómo se utiliza la clase GZipStream para comprimir y descomprimir un directorio de archivos.


using System;
using System.IO;
using System.IO.Compression;

namespace zip
{
    public class Program
    {
        public static void Main()
        {
            string directoryPath = @"c:\users\public\reports";

            DirectoryInfo directorySelected = new DirectoryInfo(directoryPath);

            foreach (FileInfo fileToCompress in directorySelected.GetFiles())
            {
                Compress(fileToCompress);
            }

            foreach (FileInfo fileToDecompress in directorySelected.GetFiles("*.gz"))
            {
                Decompress(fileToDecompress);
            }
        }

        public static void Compress(FileInfo fileToCompress)
        {
            using (FileStream originalFileStream = fileToCompress.OpenRead())
            {
                if ((File.GetAttributes(fileToCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & fileToCompress.Extension != ".gz")
                {
                    using (FileStream compressedFileStream = File.Create(fileToCompress.FullName + ".gz"))
                    {
                        using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
                        {
                            originalFileStream.CopyTo(compressionStream);
                            Console.WriteLine("Compressed {0} from {1} to {2} bytes.",
                                fileToCompress.Name, fileToCompress.Length.ToString(), compressedFileStream.Length.ToString());
                        }
                    }
                }
            }
        }

        public static void Decompress(FileInfo fileToDecompress)
        {
            using (FileStream originalFileStream = fileToDecompress.OpenRead())
            {
                string currentFileName = fileToDecompress.FullName;
                string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);

                using (FileStream decompressedFileStream = File.Create(newFileName))
                {
                    using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
                    {
                        decompressionStream.CopyTo(decompressedFileStream);
                        Console.WriteLine("Decompressed: {0}", fileToDecompress.Name);
                    }
                }
            }
        }
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft