BinaryWriter Klasse

Definition

Schreibt primitive Typen binär in einen Datenstrom und unterstützt das Schreiben von Zeichenfolgen in einer bestimmten Codierung.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
Vererbung
BinaryWriter
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Anwendungseinstellungen in einer Datei gespeichert und abgerufen werden.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

Hinweise

Die BinaryWriter-Klasse stellt Methoden bereit, die das Schreiben von primitiven Datentypen in einen Stream vereinfachen.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. Beispielsweise können Sie die Write-Methode verwenden, um einen booleschen Wert als 1-Byte-Wert in den Stream zu schreiben.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. Die-Klasse enthält Schreib Methoden, die unterschiedliche Datentypen unterstützen.The class includes write methods that support different data types.

Wenn Sie eine neue Instanz der BinaryWriter-Klasse erstellen, geben Sie den Stream an, in den geschrieben werden soll, und geben optional den Codierungstyp an und legen fest, ob der Stream geöffnet bleiben soll, nachdem das BinaryWriter-Objekt verworfen wurde.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. Wenn Sie keinen Codierungstyp angeben, wird UTF-8 verwendet.If you do not specify an encoding type, UTF-8 is used.

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle.This type implements the IDisposable interface. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen.When you have finished using the type, you should dispose of it either directly or indirectly. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf.To dispose of the type directly, call its Dispose method in a try/catch block. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Eine abgeleitete Klasse kann die Methoden dieser Klasse überschreiben, um eindeutige Zeichen Codierungen zu erhalten.A derived class can override the methods of this class to give unique character encodings.

Konstruktoren

BinaryWriter()

Initialisiert eine neue Instanz der BinaryWriter-Klasse zum Schreiben in einen Stream.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

Initialisiert eine neue Instanz der auf dem bereitgestellten Stream basierenden BinaryWriter-Klasse mit einer spezifischen Stream- und Zeichencodierung unter Verwendung von UTF-8.Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

Initialisiert eine neue Instanz der auf dem bereitgestellten Stream basierenden BinaryWriter-Klasse mit einer spezifischen Stream- und Zeichencodierung.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

BinaryWriter(Stream, Encoding, Boolean)

Initialisiert eine neue Instanz der BinaryWriter-Klasse auf Grundlage des angegebenen Streams und der Zeichencodierung und lässt den Stream optional geöffnet.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

Felder

Null

Gibt eine BinaryWriter-Klasse ohne Sicherungsspeicher an.Specifies a BinaryWriter with no backing store.

OutStream

Enthält den zugrunde liegenden Stream.Holds the underlying stream.

Eigenschaften

BaseStream

Ruft den zugrunde liegenden Stream von BinaryWriter ab.Gets the underlying stream of the BinaryWriter.

Methoden

Close()

Schließt den aktuellen BinaryWriter und den zugrunde liegenden Stream.Closes the current BinaryWriter and the underlying stream.

Dispose()

Gibt alle von der aktuellen Instanz der BinaryWriter-Klasse verwendeten Ressourcen frei.Releases all resources used by the current instance of the BinaryWriter class.

Dispose(Boolean)

Gibt die von BinaryWriter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

Gibt alle von der aktuellen Instanz der BinaryWriter-Klasse verwendeten Ressourcen asynchron frei.Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Flush()

Löscht sämtliche Puffer für den aktuellen Writer und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Seek(Int32, SeekOrigin)

Legt die Position im aktuellen Stream fest.Sets the position within the current stream.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
Write(Boolean)

Schreibt einen 1-Byte-Boolean-Wert in den aktuellen Stream, wobei 0 (null) false und 1 true darstellt.Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

Schreibt ein Byte ohne Vorzeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream um ein Byte.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

Schreibt ein Bytearray in den zugrunde liegenden Stream.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

Schreibt einen Bereich eines Bytearrays in den aktuellen Stream.Writes a region of a byte array to the current stream.

Write(Char)

Schreibt ein Unicode-Zeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Encoding und der in den Stream geschriebenen Zeichen.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[])

Schreibt ein Zeichenarray in den aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Encoding und der in den Stream geschriebenen Zeichen.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)

Schreibt einen Bereich eines Zeichenarrays in den aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Encoding und ggf. der in den Stream geschriebenen Zeichen.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)

Schreibt einen Dezimalwert in den aktuellen Stream und erhöht die Position im Stream um 16 Bytes.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

Schreibt einen 8-Byte-Gleitkommawert in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

Schreibt eine 2-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 2 Bytes.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

Schreibt eine 4-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 4 Bytes.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

Schreibt eine 8-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

Schreibt einen Bereich von Bytes in den aktuellen Stream.Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

Schreibt einen Bereich von Zeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Encoding und ggf. der in den Stream geschriebenen Zeichen.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)

Schreibt ein Byte mit Vorzeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream um ein Byte.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

Schreibt einen 4-Byte-Gleitkommawert in den aktuellen Stream und erhöht die Position im Stream um 4 Bytes.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

Schreibt eine Zeichenfolge mit Längenpräfix in der aktuellen Codierung von BinaryWriter in diesen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Codierung und der in den Stream geschriebenen Zeichen.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)

Schreibt eine 2-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 2 Bytes.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

Schreibt eine 4-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 4 Bytes.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

Schreibt eine 8-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

Schreibt eine 32-Bit-Ganzzahl in einem komprimierten Format.Writes a 32-bit integer in a compressed format.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Gibt die von BinaryWriter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

Gilt für:

Siehe auch