BinaryWriter Clase

Definición

Escribe tipos primitivos en formato binario en una secuencia y admite la escritura de cadenas en una codificación específica.Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

public ref class BinaryWriter : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class BinaryWriter : IDisposable
type BinaryWriter = class
    interface IDisposable
Public Class BinaryWriter
Implements IDisposable
Herencia
BinaryWriter
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 BinaryWriter clase proporciona métodos que simplifican la escritura de tipos de datos primitivos en una secuencia.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. Por ejemplo, puede utilizar el Write método para escribir un valor booleano en la secuencia como un valor de un byte.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. La clase incluye métodos de escritura que admiten tipos de datos diferentes.The class includes write methods that support different data types.

Cuando se crea una nueva instancia de la BinaryWriter clase, se proporciona la secuencia en la que se va a escribir y, opcionalmente, se especifica el tipo de codificación y si se deja la secuencia BinaryWriter abierta después de desechar el objeto.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. 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.

Una clase derivada puede invalidar los métodos de esta clase para proporcionar codificaciones de caracteres únicas.A derived class can override the methods of this class to give unique character encodings.

Constructores

BinaryWriter()

Inicializa una nueva instancia de la clase BinaryWriter que escribe en una secuencia.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

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

BinaryWriter(Stream, Encoding)

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

BinaryWriter(Stream, Encoding, Boolean)

Inicializa una nueva instancia de la clase BinaryWriter basada en la secuencia y la codificación de caracteres especificadas y, opcionalmente, deja la secuencia abierta.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 un objeto BinaryWriter sin memoria auxiliar.Specifies a BinaryWriter with no backing store.

OutStream

Contiene la secuencia subyacente.Holds the underlying stream.

Propiedades

BaseStream

Obtiene la secuencia subyacente del objeto BinaryWriter.Gets the underlying stream of the BinaryWriter.

Métodos

Close()

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

Dispose()

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

Dispose(Boolean)

Libera los recursos no administrados que usa BinaryWriter y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

Libera de forma asincrónica todos los recursos que usa la instancia actual de la clase BinaryWriter.Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

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

(Heredado de Object)
Flush()

Borra todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

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

(Heredado de Object)
GetType()

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

(Heredado de Object)
MemberwiseClone()

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

(Heredado de Object)
Seek(Int32, SeekOrigin)

Establece la posición en la secuencia actual.Sets the position within the current stream.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Write(Boolean)

Escribe un valor Boolean de un byte en la secuencia actual, que es 0 si es false y 1 si es true.Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

Escribe un byte sin signo en la secuencia actual y avanza la posición de la secuencia en un byte.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

Escribe una matriz de bytes en la secuencia subyacente.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

Escribe una región de una matriz de bytes en la secuencia actual.Writes a region of a byte array to the current stream.

Write(Char)

Escribe un carácter Unicode en la secuencia actual y avanza la posición actual de la secuencia de acuerdo con el Encoding utilizado y los caracteres específicos escritos en la secuencia.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[])

Escribe una matriz de caracteres en la secuencia actual y avanza la posición actual de la secuencia de acuerdo con el Encoding utilizado y los caracteres específicos escritos en esa secuencia.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)

Escribe una sección de una matriz de caracteres en la secuencia actual y avanza la posición actual de la secuencia de acuerdo con el Encoding utilizado y quizás los caracteres específicos que se escriben en la secuencia.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)

Escribe un valor decimal en la secuencia actual y avanza la posición de la secuencia en dieciséis bytes.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

Escribe un valor de punto flotante de ocho bytes en la secuencia actual y avanza la posición de la secuencia en ocho bytes.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

Escribe un entero con signo de dos bytes en la secuencia actual y avanza la posición de la secuencia en dos bytes.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

Escribe un entero con signo de cuatro bytes en la secuencia actual y avanza la posición de la secuencia en cuatro bytes.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

Escribe un entero con signo de ocho bytes en la secuencia actual y avanza la posición de la secuencia en ocho bytes.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

Escribe un intervalo de bytes en la secuencia actual.Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

Escribe un intervalo de caracteres en la secuencia actual y avanza la posición actual de la secuencia de acuerdo con el elemento Encoding utilizado y quizás los caracteres específicos que se escriben en la secuencia.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)

Escribe un byte con signo en la secuencia actual y avanza la posición de la secuencia en un byte.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

Escribe un valor de punto flotante de cuatro bytes en la secuencia actual y avanza la posición de la secuencia en cuatro bytes.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

Escribe una cadena de longitud prefijada en esta secuencia en la codificación actual de BinaryWriter y hace avanzar la posición actual de la secuencia de acuerdo con la codificación utilizada y los caracteres específicos escritos en dicha secuencia.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)

Escribe un entero sin signo de dos bytes en la secuencia actual y avanza la posición de la secuencia en dos bytes.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

Escribe un entero sin signo de cuatro bytes en la secuencia actual y avanza la posición de la secuencia en cuatro bytes.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

Escribe un entero sin signo de ocho bytes en la secuencia actual y avanza la posición de la secuencia en ocho bytes.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

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

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera los recursos no administrados que usa BinaryWriter y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

Se aplica a

Consulte también: