BinaryWriter Classe

Definição

{1>Grava tipos primitivos em binário em um fluxo e dá suporte à gravação de cadeias de caracteres em uma codificação específica.<1}Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

public ref class BinaryWriter : IDisposable
public ref class BinaryWriter : IAsyncDisposable, IDisposable
public class BinaryWriter : IDisposable
public class BinaryWriter : IAsyncDisposable, IDisposable
[System.Serializable]
public class BinaryWriter : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class BinaryWriter : IDisposable
type BinaryWriter = class
    interface IDisposable
type BinaryWriter = class
    interface IAsyncDisposable
    interface IDisposable
Public Class BinaryWriter
Implements IDisposable
Public Class BinaryWriter
Implements IAsyncDisposable, IDisposable
Herança
BinaryWriter
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra como armazenar e recuperar configurações de aplicativo em um arquivo.The following code example demonstrates how to store and retrieve application settings in a file.

using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            writer.Write(1.250F);
            writer.Write(@"c:\Temp");
            writer.Write(10);
            writer.Write(true);
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                aspectRatio = reader.ReadSingle();
                tempDirectory = reader.ReadString();
                autoSaveTime = reader.ReadInt32();
                showStatusBar = reader.ReadBoolean();
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}
Imports System.IO

Module Module1
    Const fileName As String = "AppSettings.dat"

    Sub Main()
        WriteDefaultValues()
        DisplayValues()
    End Sub

    Sub WriteDefaultValues()
        Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
            writer.Write(1.25F)
            writer.Write("c:\Temp")
            writer.Write(10)
            writer.Write(True)
        End Using
    End Sub

    Sub DisplayValues()
        Dim aspectRatio As Single
        Dim tempDirectory As String
        Dim autoSaveTime As Integer
        Dim showStatusBar As Boolean

        If (File.Exists(fileName)) Then

            Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
                aspectRatio = reader.ReadSingle()
                tempDirectory = reader.ReadString()
                autoSaveTime = reader.ReadInt32()
                showStatusBar = reader.ReadBoolean()
            End Using

            Console.WriteLine("Aspect ratio set to: " & aspectRatio)
            Console.WriteLine("Temp directory is: " & tempDirectory)
            Console.WriteLine("Auto save time set to: " & autoSaveTime)
            Console.WriteLine("Show status bar: " & showStatusBar)
        End If
    End Sub

End Module

Comentários

A classe BinaryWriter fornece métodos que simplificam a gravação de tipos de dados primitivos em um fluxo.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. Por exemplo, você pode usar o método Write para gravar um valor booliano no fluxo como um valor de um byte.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. A classe inclui métodos de gravação que dão suporte a tipos de dados diferentes.The class includes write methods that support different data types.

Quando você cria uma nova instância da classe BinaryWriter, você fornece o fluxo para gravar e, opcionalmente, especifica o tipo de codificação e se deseja deixar o fluxo aberto depois de descartar o objeto BinaryWriter.When you create a new instance of the BinaryWriter class, you provide the stream to write to, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryWriter object. Se você não especificar um tipo de codificação, o UTF-8 será usado.If you do not specify an encoding type, UTF-8 is used.

Importante

Esse tipo implementa a interface IDisposable.This type implements the IDisposable interface. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Uma classe derivada pode substituir os métodos dessa classe para fornecer codificações de caracteres exclusivas.A derived class can override the methods of this class to give unique character encodings.

Construtores

BinaryWriter()

Inicializa uma nova instância da classe BinaryWriter que é gravada no fluxo.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

Inicializa uma nova instância da classe BinaryWriter com base no fluxo especificado e usando a codificação UTF-8.Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

Inicializa uma nova instância da classe BinaryWriter com base no fluxo especificado e na codificação de caracteres.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

BinaryWriter(Stream, Encoding, Boolean)

Inicializa uma nova instância da classe BinaryWriter com base no fluxo e na codificação de caracteres especificados e, opcionalmente, deixa o fluxo aberto.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

Campos

Null

Especifica um BinaryWriter sem repositório de backup.Specifies a BinaryWriter with no backing store.

OutStream

Mantém o fluxo subjacente.Holds the underlying stream.

Propriedades

BaseStream

Obtém o fluxo subjacente de BinaryWriter.Gets the underlying stream of the BinaryWriter.

Métodos

Close()

Fecha o BinaryWriter atual e o fluxo subjacente.Closes the current BinaryWriter and the underlying stream.

Dispose()

Libera todos os recursos usados pela instância atual da classe BinaryWriter.Releases all resources used by the current instance of the BinaryWriter class.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo BinaryWriter e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

Libera de forma assíncrona todos os recursos usados pela instância atual da classe BinaryWriter.Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Flush()

Limpa todos os buffers do gravador atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Seek(Int32, SeekOrigin)

Define a posição no fluxo atual.Sets the position within the current stream.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
Write(Boolean)

Grava um valor Boolean de um byte no fluxo atual, com 0 representando false e 1 representando true.Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

Grava um byte sem sinal no fluxo atual e avança a posição do fluxo em um byte.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

Grava uma matriz de bytes no fluxo subjacente.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

Grava uma região de uma matriz de bytes no fluxo atual.Writes a region of a byte array to the current stream.

Write(Char)

Grava um caractere Unicode no fluxo atual e avança a posição atual do fluxo de acordo com o Encoding usado e os caracteres específicos que estão sendo gravados no fluxo.Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[])

Grava uma matriz de caracteres no fluxo atual e avança a posição atual do fluxo de acordo com o Encoding usado e os caracteres específicos que estão sendo gravados no fluxo.Writes a character array to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[], Int32, Int32)

Grava uma seção de uma matriz de caracteres no fluxo atual e avança a posição atual do fluxo de acordo com o Encoding usado e talvez com os caracteres específicos que estão sendo gravados no fluxo.Writes a section of a character array to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(Decimal)

Grava um valor decimal no fluxo atual e avança a posição do fluxo em 16 bytes.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

Grava um valor de ponto flutuante de oito bytes no fluxo atual e avança a posição do fluxo em oito bytes.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

Grava um inteiro com sinal de dois bytes no fluxo atual e avança a posição de fluxo em dois bytes.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

Grava um inteiro com sinal de quatro bytes no fluxo atual e avança a posição do fluxo em quatro bytes.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

Grava um inteiro com sinal de oito bytes no fluxo atual e avança a posição do fluxo em oito bytes.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

Grava um intervalo de bytes no fluxo atual.Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

Grava um intervalo de caracteres no fluxo atual e avança a posição atual do fluxo de acordo com a Encoding usada e talvez com os caracteres específicos que estão sendo gravados no fluxo.Writes a span of characters to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(SByte)

Grava um byte com sinal no fluxo atual e avança a posição do fluxo em um byte.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

Grava um valor de ponto flutuante de quatro bytes no fluxo atual e avança a posição do fluxo em quatro bytes.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

Grava uma cadeia de caracteres de tamanho prefixado nesse fluxo na codificação atual do BinaryWriter e avança a posição atual do fluxo de acordo com a codificação usada e os caracteres específicos que estão sendo gravados no fluxo.Writes a length-prefixed string to this stream in the current encoding of the BinaryWriter, and advances the current position of the stream in accordance with the encoding used and the specific characters being written to the stream.

Write(UInt16)

Grava um inteiro sem sinal de dois bytes no fluxo atual e avança a posição do fluxo em dois bytes.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

Grava um inteiro sem sinal de quatro bytes no fluxo atual e avança a posição do fluxo em quatro bytes.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

Grava um inteiro sem sinal de oito bytes no fluxo atual e avança a posição do fluxo em oito bytes.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

Grava um inteiro de 32 bits em um formato compactado.Writes a 32-bit integer in a compressed format.

Implantações explícitas de interface

IDisposable.Dispose()

Libera os recursos não gerenciados usados pelo BinaryWriter e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

Aplica-se a

Veja também