DeflateStream.Write Método
Definição
Sobrecargas
| Write(ReadOnlySpan<Byte>) |
Grava uma sequência de bytes no fluxo Deflate atual e avança a posição atual nesse fluxo Deflate até o número de bytes gravados.Writes a sequence of bytes to the current Deflate stream and advances the current position within this Deflate stream by the number of bytes written. |
| Write(Byte[], Int32, Int32) |
Grava bytes compactados no fluxo subjacente da matriz de bytes especificada.Writes compressed bytes to the underlying stream from the specified byte array. |
Write(ReadOnlySpan<Byte>)
Grava uma sequência de bytes no fluxo Deflate atual e avança a posição atual nesse fluxo Deflate até o número de bytes gravados.Writes a sequence of bytes to the current Deflate stream and advances the current position within this Deflate stream by the number of bytes written.
public:
override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))
Parâmetros
- buffer
- ReadOnlySpan<Byte>
Uma região da memória.A region of memory. Esse método copia o conteúdo dessa região para o fluxo Deflate atual.This method copies the contents of this region to the current Deflate stream.
Comentários
Use a CanWrite propriedade para determinar se a instância atual oferece suporte à gravação.Use the CanWrite property to determine whether the current instance supports writing. Use o WriteAsync método para gravar de forma assíncrona no fluxo atual.Use the WriteAsync method to write asynchronously to the current stream.
Se a operação de gravação for bem-sucedida, a posição dentro do fluxo deflate avança pelo número de bytes gravados.If the write operation is successful, the position within the Deflate stream advances by the number of bytes written. Se ocorrer uma exceção, a posição dentro do fluxo deflate permanecerá inalterada.If an exception occurs, the position within the Deflate stream remains unchanged.
Aplica-se a
Write(Byte[], Int32, Int32)
Grava bytes compactados no fluxo subjacente da matriz de bytes especificada.Writes compressed bytes to the underlying stream from the specified byte array.
public:
override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public override void Write (byte[] array, int offset, int count);
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)
Parâmetros
- array
- Byte[]
O buffer que contém os dados a serem compactados.The buffer that contains the data to compress.
- offset
- Int32
O deslocamento de bytes em array do qual os bytes serão lidos.The byte offset in array from which the bytes will be read.
- count
- Int32
O número máximo de bytes a serem gravados.The maximum number of bytes to write.
Exemplos
O exemplo a seguir mostra como compactar e descompactar bytes usando Read os Write métodos e.The following example shows how to compress and decompress bytes by using the Read and Write methods.
using System;
using System.Text;
using System.IO;
using System.IO.Compression;
namespace ExampleConsoleApplication
{
class Program
{
static void Main(string[] args)
{
UnicodeEncoding uniEncode = new UnicodeEncoding();
byte[] bytesToCompress = uniEncode.GetBytes("example text to compress and decompress");
Console.WriteLine("starting with: " + uniEncode.GetString(bytesToCompress));
using (FileStream fileToCompress = File.Create("examplefile.gz"))
{
using (DeflateStream compressionStream = new DeflateStream(fileToCompress, CompressionMode.Compress))
{
compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length);
}
}
byte[] decompressedBytes = new byte[bytesToCompress.Length];
using (FileStream fileToDecompress = File.Open("examplefile.gz", FileMode.Open))
{
using (DeflateStream decompressionStream = new DeflateStream(fileToDecompress, CompressionMode.Decompress))
{
decompressionStream.Read(decompressedBytes, 0, bytesToCompress.Length);
}
}
Console.WriteLine("ending with: " + uniEncode.GetString(decompressedBytes));
}
}
}
Imports System.IO
Imports System.IO.Compression
Imports System.Text
Module Module1
Sub Main()
Dim uniEncode As UnicodeEncoding = New UnicodeEncoding()
Dim bytesToCompress = uniEncode.GetBytes("example text to compress and decompress")
Console.WriteLine("starting with: " + uniEncode.GetString(bytesToCompress))
Using fileToCompress As FileStream = File.Create("examplefile.gz")
Using compressionStream As DeflateStream = New DeflateStream(fileToCompress, CompressionMode.Compress)
compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length)
End Using
End Using
Dim decompressedBytes(bytesToCompress.Length - 1) As Byte
Using fileToDecompress As FileStream = File.Open("examplefile.gz", FileMode.Open)
Using decompressionStream As DeflateStream = New DeflateStream(fileToDecompress, CompressionMode.Decompress)
decompressionStream.Read(decompressedBytes, 0, bytesToCompress.Length)
End Using
End Using
Console.WriteLine("ending with: " + uniEncode.GetString(decompressedBytes))
End Sub
End Module