BinaryReader BinaryReader BinaryReader BinaryReader Class

Definición

Lee tipos de datos primitivos como valores binarios en una codificación específica.Reads primitive data types as binary values in a specific encoding.

public ref class BinaryReader : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
type BinaryReader = class
    interface IDisposable
Public Class BinaryReader
Implements IDisposable
Herencia
BinaryReaderBinaryReaderBinaryReaderBinaryReader
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo almacenar y recuperar la configuración de la aplicación en un archivo.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

Comentarios

La BinaryReader clase proporciona métodos que simplifican la lectura de los tipos de datos primitivos de una secuencia.The BinaryReader class provides methods that simplify reading primitive data types from a stream. Por ejemplo, puede utilizar el ReadBoolean método para leer el siguiente byte como un valor booleano y avanzar la posición actual en la secuencia en un 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. La clase incluye métodos de lectura que admiten tipos de datos diferentes.The class includes read methods that support different data types.

Cuando se crea una nueva instancia de la BinaryReader clase, se proporciona la secuencia que se va a leer y, opcionalmente, se especifica el tipo de codificación y si se deja la secuencia abierta después BinaryReader de desechar el 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. Si no especifica un tipo de codificación, se usa UTF-8.If you do not specify an encoding type, UTF-8 is used.

Importante

Este tipo implementa la interfaz IDisposable.This type implements the IDisposable interface. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Constructores

BinaryReader(Stream) BinaryReader(Stream) BinaryReader(Stream) BinaryReader(Stream)

Inicializa una nueva instancia de la clase BinaryReader basada en la secuencia especificada y usando codificación UTF-8.Initializes a new instance of the BinaryReader class based on the specified stream and using UTF-8 encoding.

BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding)

Inicializa una nueva instancia de la clase BinaryReader basada en la secuencia y codificación de caracteres especificadas.Initializes a new instance of the BinaryReader class based on the specified stream and character encoding.

BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean)

Inicializa una nueva instancia de la clase BinaryReader basada en la secuencia y la codificación de caracteres especificadas y, opcionalmente, deja la secuencia abierta.Initializes a new instance of the BinaryReader class based on the specified stream and character encoding, and optionally leaves the stream open.

Propiedades

BaseStream BaseStream BaseStream BaseStream

Expone el acceso a la secuencia subyacente de BinaryReader.Exposes access to the underlying stream of the BinaryReader.

Métodos

Close() Close() Close() Close()

Cierra el lector actual y la secuencia subyacente.Closes the current reader and the underlying stream.

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos usados por la instancia actual de la clase BinaryReader.Releases all resources used by the current instance of the BinaryReader class.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase BinaryReader y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the BinaryReader class and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FillBuffer(Int32) FillBuffer(Int32) FillBuffer(Int32) FillBuffer(Int32)

Rellena el búfer interno con el número especificado de bytes leídos de la secuencia.Fills the internal buffer with the specified number of bytes read from the stream.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
PeekChar() PeekChar() PeekChar() PeekChar()

Devuelve el siguiente carácter disponible y no hace avanzar la posición de bytes o caracteres.Returns the next available character and does not advance the byte or character position.

Read() Read() Read() Read()

Lee los caracteres de la secuencia subyacente y hace avanzar la posición actual de la secuencia de acuerdo con la Encoding usada y el carácter concreto que se lea de la secuencia.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) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

Lee el número especificado de bytes de la secuencia, a partir del punto especificado en la 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) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32)

Lee el número especificado de caracteres de la secuencia, a partir del punto especificado en la matriz de caracteres.Reads the specified number of characters from the stream, starting from a specified point in the character array.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)
Read(Span<Char>) Read(Span<Char>) Read(Span<Char>) Read(Span<Char>)
Read7BitEncodedInt() Read7BitEncodedInt() Read7BitEncodedInt() Read7BitEncodedInt()

Lee un entero de 32 bits en formato comprimido.Reads in a 32-bit integer in compressed format.

ReadBoolean() ReadBoolean() ReadBoolean() ReadBoolean()

Lee un valor Boolean de la secuencia actual y hace avanzar un byte la posición actual de la secuencia.Reads a Boolean value from the current stream and advances the current position of the stream by one byte.

ReadByte() ReadByte() ReadByte() ReadByte()

Lee el siguiente byte de la secuencia actual y hace avanzar un byte la posición actual de la secuencia.Reads the next byte from the current stream and advances the current position of the stream by one byte.

ReadBytes(Int32) ReadBytes(Int32) ReadBytes(Int32) ReadBytes(Int32)

Lee el número especificado de bytes de la secuencia actual en una matriz de bytes y hace avanzar la posición actual en función del número de bytes leídos.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() ReadChar() ReadChar() ReadChar()

Lee el siguiente carácter de la secuencia actual y hace avanzar la posición actual de la secuencia de acuerdo con la Encoding usada y el carácter concreto que se lee de la secuencia.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) ReadChars(Int32) ReadChars(Int32) ReadChars(Int32)

Lee el número especificado de caracteres de la secuencia actual, devuelve los datos en una matriz de caracteres y hace avanzar la posición actual de acuerdo con la Encoding usada y el carácter concreto que se lee en la secuencia.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() ReadDecimal() ReadDecimal() ReadDecimal()

Lee un valor decimal de la secuencia actual y hace avanzar la posición actual de la secuencia dieciséis bytes.Reads a decimal value from the current stream and advances the current position of the stream by sixteen bytes.

ReadDouble() ReadDouble() ReadDouble() ReadDouble()

Lee un valor de punto flotante de 8 bytes de la secuencia actual y hace avanzar la posición actual de la secuencia en ocho bytes.Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes.

ReadInt16() ReadInt16() ReadInt16() ReadInt16()

Lee un entero con signo de 2 bytes en la secuencia actual y hace avanzar la posición actual de la secuencia en dos bytes.Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes.

ReadInt32() ReadInt32() ReadInt32() ReadInt32()

Lee un entero con signo de 4 bytes en la secuencia actual y hace avanzar la posición actual de la secuencia en cuatro bytes.Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.

ReadInt64() ReadInt64() ReadInt64() ReadInt64()

Lee un entero con signo de 8 bytes de la secuencia actual y avanza la posición actual de la secuencia en ocho bytes.Reads an 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes.

ReadSByte() ReadSByte() ReadSByte() ReadSByte()

Lee un byte con signo de esta secuencia y hace avanzar la posición actual de la secuencia en un byte.Reads a signed byte from this stream and advances the current position of the stream by one byte.

ReadSingle() ReadSingle() ReadSingle() ReadSingle()

Lee un valor de punto flotante de 4 bytes en la secuencia actual y hace avanzar la posición actual de la secuencia en cuatro bytes.Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.

ReadString() ReadString() ReadString() ReadString()

Lee una cadena de la secuencia actual.Reads a string from the current stream. La cadena tiene como prefijo la longitud, codificada como un entero de siete bits cada vez.The string is prefixed with the length, encoded as an integer seven bits at a time.

ReadUInt16() ReadUInt16() ReadUInt16() ReadUInt16()

Lee un entero sin signo de 2 bytes de la secuencia actual con la codificación "little-endian" y hace avanzar la posición de la secuencia en dos 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() ReadUInt32() ReadUInt32() ReadUInt32()

Lee un entero sin signo de 4 bytes de la secuencia actual y hace avanzar la posición de la secuencia en cuatro bytes.Reads a 4-byte unsigned integer from the current stream and advances the position of the stream by four bytes.

ReadUInt64() ReadUInt64() ReadUInt64() ReadUInt64()

Lee un entero sin signo de 8 bytes de la secuencia actual y hace avanzar la posición de la secuencia en ocho bytes.Reads an 8-byte unsigned integer from the current stream and advances the position of the stream by eight bytes.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Libera todos los recursos que usa BinaryReader.Releases all resources used by the BinaryReader.

Se aplica a

Consulte también: