BinaryWriter Klasse

Definition

Schreibt primitive Typen binär in einen Datenstrom und unterstützt das Schreiben von Zeichenfolgen in einer bestimmten Codierung.

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.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryWriter : IDisposable
type BinaryWriter = class
    interface IDisposable
type BinaryWriter = class
    interface IAsyncDisposable
    interface IDisposable
[<System.Serializable>]
type BinaryWriter = class
    interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryWriter = class
    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.

using System;
using System.IO;
using System.Text;

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

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

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                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 (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    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);
        }
    }
}
open System.IO
open System.Text

let fileName = "AppSettings.dat"

let writeDefaultValues () =
    use stream = File.Open(fileName, FileMode.Create)
    use writer = new BinaryWriter(stream, Encoding.UTF8, false)
    writer.Write 1.250F
    writer.Write @"c:\Temp"
    writer.Write 10
    writer.Write true

let displayValues () =
    if File.Exists fileName then
        use stream = File.Open(fileName, FileMode.Open)
        use reader = new BinaryReader(stream, Encoding.UTF8, false)
        let aspectRatio = reader.ReadSingle()
        let tempDirectory = reader.ReadString()
        let autoSaveTime = reader.ReadInt32()
        let showStatusBar = reader.ReadBoolean()

        printfn $"Aspect ratio set to: {aspectRatio}"
        printfn $"Temp directory is: {tempDirectory}"
        printfn $"Auto save time set to: {autoSaveTime}"
        printfn $"Show status bar: {showStatusBar}"

writeDefaultValues ()
displayValues ()
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 primitiver Datentypen in einen Stream vereinfachen. Beispielsweise können Sie die Write -Methode verwenden, um einen booleschen Wert als Ein-Byte-Wert in den Stream zu schreiben. Die -Klasse enthält Schreibmethoden, die verschiedene Datentypen unterstützen.

Wenn Sie einen neuen instance der -Klasse erstellen, geben Sie den Datenstrom an, in den BinaryWriter geschrieben werden soll, und geben optional den Codierungstyp an und geben an, ob der Stream nach dem Löschen des BinaryWriter Objekts geöffnet bleiben soll. Wenn Sie keinen Codierungstyp angeben, wird UTF-8 verwendet.

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“.

Eine abgeleitete Klasse kann die Methoden dieser Klasse überschreiben, um eindeutige Zeichencodierungen zu erhalten.

Konstruktoren

BinaryWriter()

Initialisiert eine neue Instanz der BinaryWriter-Klasse zum Schreiben in einen 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.

BinaryWriter(Stream, Encoding)

Initialisiert eine neue Instanz der auf dem bereitgestellten Stream basierenden BinaryWriter-Klasse mit einer spezifischen Stream- und Zeichencodierung.

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.

Felder

Null

Gibt eine BinaryWriter-Klasse ohne Sicherungsspeicher an.

OutStream

Enthält den zugrunde liegenden Stream.

Eigenschaften

BaseStream

Ruft den zugrunde liegenden Stream von BinaryWriter ab.

Methoden

Close()

Schließt den aktuellen BinaryWriter und den zugrunde liegenden Stream.

Dispose()

Gibt alle von der aktuellen Instanz der BinaryWriter-Klasse verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von BinaryWriter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

DisposeAsync()

Gibt alle von der aktuellen Instanz der BinaryWriter-Klasse verwendeten Ressourcen asynchron frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(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.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Seek(Int32, SeekOrigin)

Legt die Position im aktuellen Stream fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
Write(Boolean)

Schreibt einen 1-Byte-Boolean-Wert in den aktuellen Stream, wobei 0 (null) false und 1 true darstellt.

Write(Byte)

Schreibt ein Byte ohne Vorzeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream um ein Byte.

Write(Byte[])

Schreibt ein Bytearray in den zugrunde liegenden Stream.

Write(Byte[], Int32, Int32)

Schreibt einen Bereich eines Bytearrays in den aktuellen 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.

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.

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.

Write(Decimal)

Schreibt einen Dezimalwert in den aktuellen Stream und erhöht die Position im Stream um 16 Bytes.

Write(Double)

Schreibt einen 8-Byte-Gleitkommawert in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.

Write(Half)

Schreibt einen Gleitkommawert von zwei Byte in den aktuellen Stream und erhöht die Streamposition um zwei Bytes.

Write(Int16)

Schreibt eine 2-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 2 Bytes.

Write(Int32)

Schreibt eine 4-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 4 Bytes.

Write(Int64)

Schreibt eine 8-Byte-Ganzzahl mit Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.

Write(ReadOnlySpan<Byte>)

Schreibt einen Bereich von Bytes in den aktuellen 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.

Write(SByte)

Schreibt ein Byte mit Vorzeichen in den aktuellen Stream und erhöht die aktuelle Position im Stream um ein Byte.

Write(Single)

Schreibt einen 4-Byte-Gleitkommawert in den aktuellen Stream und erhöht die Position im Stream um 4 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.

Write(UInt16)

Schreibt eine 2-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 2 Bytes.

Write(UInt32)

Schreibt eine 4-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 4 Bytes.

Write(UInt64)

Schreibt eine 8-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Stream und erhöht die Position im Stream um 8 Bytes.

Write7BitEncodedInt(Int32)

Schreibt eine 32-Bit-Ganzzahl in einem komprimierten Format.

Write7BitEncodedInt64(Int64)

Schreibt jeweils eine Zahl von 7 Bits.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Gibt die von BinaryWriter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Erweiterungsmethoden

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie Wartezeiten auf die Aufgaben angewandt werden, die von einem asynchronen verwerfbaren Element zurückgegeben werden.

Gilt für:

Weitere Informationen