BinaryWriter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 bietet Methoden, die das Schreiben von Grundtypen in einen Datenstrom vereinfachen. Sie können beispielsweise die Write Methode verwenden, um einen Booleschen Wert als Ein-Byte-Wert in den Datenstrom zu schreiben. Die Klasse enthält Schreibmethoden, die verschiedene Datentypen unterstützen.
Wenn Sie eine neue Instanz der BinaryWriter Klasse erstellen, geben Sie den Datenstrom an, an den Sie schreiben möchten, und geben Sie optional den Typ der Codierung an und ob der Datenstrom nach dem Entfernen des BinaryWriter Objekts geöffnet wird. 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 außer Kraft setzen, um eindeutige Zeichencodierungen zu gewähren.
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- |
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 |
Write(Char[]) |
Schreibt ein Zeichenarray in den aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten |
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 |
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 Zwei-Byte-Gleitkommawert in den aktuellen Stream und verbessert 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 |
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. |