¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
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

DeflateStream (Clase)

Proporciona métodos y propiedades para comprimir y descomprimir secuencias usando el algoritmo Deflate.

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      System.IO.Compression.DeflateStream

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

public class DeflateStream : Stream

El tipo DeflateStream expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsDeflateStream(Stream, CompressionLevel)Inicializa una nueva instancia de la clase DeflateStream 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 WindowsDeflateStream(Stream, CompressionMode)Inicializa una nueva instancia de la clase DeflateStream usando la secuencia y modo de compresión especificados.
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsDeflateStream(Stream, CompressionLevel, Boolean)Inicializa una nueva instancia de la clase DeflateStream usando el flujo y nivel de compresión especificados y, opcionalmente, deja el flujo abierto.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDeflateStream(Stream, CompressionMode, Boolean)Inicializa una nueva instancia de la clase DeflateStream usando el flujo y modo de compresión especificados y, opcionalmente, deja el flujo abierto.
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. (Puede usar el método 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) Cierra la secuencia actual y libera todos los recursos (tales como sockets y manejadores de archivo)asociados a la secuencia actual. (Se hereda de Stream).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyTo(Stream, Int32) En vez de llamar a este método, asegúrese de que la secuencia actual ha sido correctamente liberada. (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 DeflateStream 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 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 portableEndWriteFinaliza 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 operación 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 operación 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 algoritmo Deflate, que es un algoritmo estándar del sector para la compresión de archivos y la descompresión sin pérdidas. A partir de .NET Framework 4.5, la clase DeflateStream usa la biblioteca de zlib. Como resultado, proporciona mejor algoritmo de compresión y, en la mayoría de los casos, un archivo comprimido menor que proporciona en versiones anteriores de .NET Framework.

Esta clase inherente no proporciona funcionalidad para agregar archivos a o extraer los archivos de los archivos zip. Para trabajar con archivos zip, utilice las clases ZipArchive y ZipArchiveEntry .

La clase DeflateStream usa el mismo algoritmo de compresión que el formato de datos correspondiente gzip utilizado por la clase GZipStream .

La funcionalidad de compresión en DeflateStream y GZipStream se expone como una secuencia. Los datos se lee byte a byte, por lo que no es posible realizar varios pasos 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.

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


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

public class Program
{
    static string directoryPath = @"c:\temp";
    public static void Main()
    {

        DirectoryInfo directorySelected = new DirectoryInfo(directoryPath);
           Compress(directorySelected);
    	

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

    public static void Compress(DirectoryInfo directorySelected)
    {


        foreach (FileInfo file in directorySelected.GetFiles("*.xml"))
        using (FileStream originalFileStream = file.OpenRead())
        {
            if ((File.GetAttributes(file.FullName) & FileAttributes.Hidden)
                != FileAttributes.Hidden & file.Extension != ".cmp")
            {
                using (FileStream compressedFileStream = File.Create(file.FullName + ".cmp"))
                {
                    using (DeflateStream compressionStream = new DeflateStream(compressedFileStream, CompressionMode.Compress))
                    {
                        originalFileStream.CopyTo(compressionStream);
                    }
                }

                FileInfo info = new FileInfo(directoryPath + "\\" + file.Name + ".cmp");
                Console.WriteLine("Compressed {0} from {1} to {2} bytes.", file.Name, file.Length, info.Length);
            }
        }
    }

    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 (DeflateStream decompressionStream = new DeflateStream(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:
© 2015 Microsoft