BinaryReader Classe

Definição

Lê os tipos de dados primitivos como valores binários em uma codificação específica.Reads primitive data types as binary values in a specific encoding.

public ref class BinaryReader : IDisposable
public class BinaryReader : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
type BinaryReader = class
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryReader = class
    interface IDisposable
Public Class BinaryReader
Implements IDisposable
Herança
BinaryReader
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 BinaryReader classe fornece métodos que simplificam a leitura de tipos de dados primitivos de um fluxo.The BinaryReader class provides methods that simplify reading primitive data types from a stream. Por exemplo, você pode usar o ReadBoolean método para ler o próximo byte como um valor booliano e avançar a posição atual no fluxo por um byte.For example, you can use the ReadBoolean method to read the next byte as a Boolean value and advance the current position in the stream by one byte. A classe inclui métodos de leitura que dão suporte a tipos de dados diferentes.The class includes read methods that support different data types.

Quando você cria uma nova instância da BinaryReader classe, você fornece o fluxo para ler e, opcionalmente, especifica o tipo de codificação e se deseja deixar o fluxo aberto depois de descartar o BinaryReader objeto.When you create a new instance of the BinaryReader class, you provide the stream to read from, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryReader 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.

Construtores

BinaryReader(Stream)

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

BinaryReader(Stream, Encoding)

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

BinaryReader(Stream, Encoding, Boolean)

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

Propriedades

BaseStream

Expõe o acesso ao fluxo subjacente do BinaryReader.Exposes access to the underlying stream of the BinaryReader.

Métodos

Close()

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

Dispose()

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

Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe BinaryReader e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the BinaryReader class and optionally releases the managed resources.

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)
FillBuffer(Int32)

Preenche o buffer interno com o número especificado de bytes lidos do fluxo.Fills the internal buffer with the specified number of bytes read from the stream.

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)
PeekChar()

Retorna o próximo caractere disponível e não avance a posição do caractere ou byte.Returns the next available character and does not advance the byte or character position.

Read()

Lê os caracteres do fluxo subjacente e avança a posição atual do fluxo de acordo com o Encoding usado e o caractere específico que está sendo lidos do fluxo.Reads characters from the underlying stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.

Read(Byte[], Int32, Int32)

Lê o número especificado de bytes do fluxo, começando em um ponto especificado na matriz de bytes.Reads the specified number of bytes from the stream, starting from a specified point in the byte array.

Read(Char[], Int32, Int32)

Lê o número especificado de caracteres do fluxo, começando em um ponto especificado na matriz de caracteres.Reads the specified number of characters from the stream, starting from a specified point in the character array.

Read(Span<Byte>)

Lê uma sequência de bytes do fluxo atual e avança a posição no fluxo até o número de bytes lidos.Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

Read(Span<Char>)

Lê, no fluxo atual, o mesmo número de caracteres que o tamanho do buffer fornecido, grava-os no buffer fornecido e avança a posição atual de acordo com o Encoding usado e o caractere específico que está sendo lido no fluxo.Reads, from the current stream, the same number of characters as the length of the provided buffer, writes them in the provided buffer, and advances the current position in accordance with the Encoding used and the specific character being read from the stream.

Read7BitEncodedInt()

Lê um inteiro de 32 bits em formato compactado.Reads in a 32-bit integer in compressed format.

Read7BitEncodedInt64()

Lê um número de 7 bits por vez.Reads a number 7 bits at a time.

ReadBoolean()

Lê um valor Boolean do fluxo atual e avança a posição atual do fluxo em um byte.Reads a Boolean value from the current stream and advances the current position of the stream by one byte.

ReadByte()

Lê o próximo byte do fluxo atual e avança a posição atual do fluxo em um byte.Reads the next byte from the current stream and advances the current position of the stream by one byte.

ReadBytes(Int32)

Lê o número especificado de bytes do fluxo atual em uma matriz de bytes e avança a posição atual pelo número de bytes.Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes.

ReadChar()

Lê o caractere seguinte do fluxo atual e avança a posição atual do fluxo de acordo com o Encoding usado e o caractere específico que está sendo lido do fluxo.Reads the next character from the current stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.

ReadChars(Int32)

Lê o número especificado de caracteres do fluxo atual, retorna os dados em uma matriz de caracteres e avança a posição atual de acordo com o Encoding usado e o caractere específico que está sendo lido no fluxo.Reads the specified number of characters from the current stream, returns the data in a character array, and advances the current position in accordance with the Encoding used and the specific character being read from the stream.

ReadDecimal()

Lê um valor decimal do fluxo atual e avança a posição atual do fluxo em 16 bytes.Reads a decimal value from the current stream and advances the current position of the stream by sixteen bytes.

ReadDouble()

Lê um valor de ponto flutuante de 8 bytes do fluxo atual e avança a posição atual do fluxo em oito bytes.Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes.

ReadInt16()

Lê um inteiro com sinal de 2 bytes do fluxo atual e avança a posição atual do fluxo em dois bytes.Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes.

ReadInt32()

Lê um inteiro com sinal de 4 bytes do fluxo atual e avança a posição atual do fluxo em quatro bytes.Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.

ReadInt64()

Lê um inteiro com sinal de oito bytes do fluxo atual e avança a posição atual do fluxo em oito bytes.Reads an 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes.

ReadSByte()

Lê um byte assinado desse fluxo e avança a posição atual do fluxo em um byte.Reads a signed byte from this stream and advances the current position of the stream by one byte.

ReadSingle()

Lê um valor de ponto flutuante de 4 bytes do fluxo atual e avança a posição atual do fluxo em quatro bytes.Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.

ReadString()

Lê uma cadeia de caracteres do fluxo atual.Reads a string from the current stream. A cadeia de caracteres é prefixada com o tamanho, codificado como um inteiro, sete bits por vez.The string is prefixed with the length, encoded as an integer seven bits at a time.

ReadUInt16()

Lê um inteiro sem sinal de 2 bytes do fluxo atual usando a codificação little-endian e avança a posição do fluxo em dois bytes.Reads a 2-byte unsigned integer from the current stream using little-endian encoding and advances the position of the stream by two bytes.

ReadUInt32()

Lê um inteiro sem sinal de quatro bytes do fluxo atual e avança a posição do fluxo em quatro bytes.Reads a 4-byte unsigned integer from the current stream and advances the position of the stream by four bytes.

ReadUInt64()

Lê um inteiro sem sinal de 8 bytes do fluxo atual e avança a posição do fluxo em oito bytes.Reads an 8-byte unsigned integer from the current stream and advances the position of the stream by eight bytes.

ToString()

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

(Herdado de Object)

Implantações explícitas de interface

IDisposable.Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera todos os recursos usados pelo BinaryReader.Releases all resources used by the BinaryReader.

Aplica-se a