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 in binärer Form 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 von primitiven Datentypen in einen Datenstrom vereinfachen. Sie können z. B. die Write-Methode verwenden, um einen booleschen Wert in den Datenstrom als Ein-Byte-Wert zu schreiben. Die Klasse enthält Schreibmethoden, die unterschiedliche Datentypen unterstützen.
Wenn Sie eine neue Instanz der BinaryWriter-Klasse erstellen, geben Sie den zu schreibenden Datenstrom an und geben optional den Codierungstyp an, und geben Sie optional an, ob der Datenstrom geöffnet bleiben soll, nachdem das BinaryWriter-Objekt entfernt wurde. Wenn Sie keinen Codierungstyp angeben, wird UTF-8 verwendet.
Wichtig
Dieser Typ implementiert die IDisposable Schnittstelle. Wenn Sie die Verwendung des Typs abgeschlossen haben, sollten Sie ihn entweder direkt oder indirekt verwerfen. Rufen Sie zum direkten Löschen des Typs die Dispose-Methode in einem try
/catch
-Block auf. Verwenden Sie zum indirekten Löschen ein Sprachkonstrukt wie using
(in C#) oder Using
(in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IDisposable implementiert", im Thema zur IDisposable Schnittstelle.
Eine abgeleitete Klasse kann die Methoden dieser Klasse überschreiben, um eindeutige Zeichencodierungen zu ermöglichen.
Konstruktoren
BinaryWriter() |
Initialisiert eine neue Instanz der BinaryWriter Klasse, die in einen Datenstrom schreibt. |
BinaryWriter(Stream) |
Initialisiert eine neue Instanz der BinaryWriter-Klasse basierend auf dem angegebenen Datenstrom und mit UTF-8-Codierung. |
BinaryWriter(Stream, Encoding) |
Initialisiert eine neue Instanz der BinaryWriter Klasse basierend auf der angegebenen Datenstrom- und Zeichencodierung. |
BinaryWriter(Stream, Encoding, Boolean) |
Initialisiert eine neue Instanz der BinaryWriter-Klasse basierend auf der angegebenen Datenstrom- und Zeichencodierung und lässt optional den Datenstrom geöffnet. |
Felder
Null |
Gibt eine BinaryWriter ohne Sicherungsspeicher an. |
OutStream |
Enthält den zugrunde liegenden Datenstrom. |
Eigenschaften
BaseStream |
Ruft den zugrunde liegenden Datenstrom der BinaryWriterab. |
Methoden
Close() |
Schließt die aktuelle BinaryWriter und den zugrunde liegenden Datenstrom. |
Dispose() |
Gibt alle Ressourcen frei, die von der aktuellen Instanz der BinaryWriter Klasse verwendet werden. |
Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die vom BinaryWriter verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
DisposeAsync() |
Gibt asynchron alle Ressourcen frei, die von der aktuellen Instanz der BinaryWriter Klasse verwendet werden. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
Flush() |
Löscht alle Puffer für den aktuellen Writer und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. |
GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
Seek(Int32, SeekOrigin) |
Legt die Position innerhalb des aktuellen Datenstroms 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 nicht signiertes Byte in den aktuellen Datenstrom und wechselt die Datenstromposition um ein Byte. |
Write(Byte[]) |
Schreibt ein Bytearray in den zugrunde liegenden Datenstrom. |
Write(Byte[], Int32, Int32) |
Schreibt einen Bereich eines Bytearrays in den aktuellen Datenstrom. |
Write(Char) |
Schreibt ein Unicode-Zeichen in den aktuellen Datenstrom und wechselt die aktuelle Position des Datenstroms gemäß dem verwendeten |
Write(Char[]) |
Schreibt ein Zeichenarray in den aktuellen Datenstrom und wechselt die aktuelle Position des Datenstroms gemäß dem verwendeten |
Write(Char[], Int32, Int32) |
Schreibt einen Abschnitt eines Zeichenarrays in den aktuellen Datenstrom und wechselt die aktuelle Position des Datenstroms entsprechend dem verwendeten |
Write(Decimal) |
Schreibt einen Dezimalwert in den aktuellen Datenstrom und wechselt die Datenstromposition um sechzehn Bytes. |
Write(Double) |
Schreibt einen Acht-Byte-Gleitkommawert in den aktuellen Datenstrom und wechselt die Datenstromposition um acht Bytes. |
Write(Half) |
Schreibt einen Gleitkommawert mit zwei Byte in den aktuellen Datenstrom und wechselt die Datenstromposition um zwei Byte. |
Write(Int16) |
Schreibt eine aus zwei Byte signierte ganze Zahl in den aktuellen Datenstrom und wechselt die Datenstromposition um zwei Byte. |
Write(Int32) |
Schreibt eine aus vier Byte signierte ganze Zahl in den aktuellen Datenstrom und wechselt die Datenstromposition um vier Byte. |
Write(Int64) |
Schreibt eine acht bytesignierte ganze Zahl in den aktuellen Datenstrom und wechselt die Datenstromposition um acht Byte. |
Write(ReadOnlySpan<Byte>) |
Schreibt eine Spanne von Bytes in den aktuellen Datenstrom. |
Write(ReadOnlySpan<Char>) |
Schreibt eine Spanne von Zeichen in den aktuellen Datenstrom und wechselt die aktuelle Position des Datenstroms gemäß dem verwendeten |
Write(SByte) |
Schreibt ein signiertes Byte in den aktuellen Datenstrom und wechselt die Datenstromposition um ein Byte. |
Write(Single) |
Schreibt einen Gleitkommawert mit vier Byte in den aktuellen Datenstrom und wechselt die Datenstromposition um vier Byte. |
Write(String) |
Schreibt eine längepräfixierte Zeichenfolge in diesen Datenstrom in der aktuellen Codierung der BinaryWriterund führt die aktuelle Position des Datenstroms entsprechend der verwendeten Codierung und den spezifischen Zeichen aus, die in den Datenstrom geschrieben werden. |
Write(UInt16) |
Schreibt eine ganzzahlige Zahl ohne Vorzeichen in den aktuellen Datenstrom und wechselt die Datenstromposition um zwei Byte. |
Write(UInt32) |
Schreibt eine ganze Zahl mit vier Byte in den aktuellen Datenstrom und wechselt die Datenstromposition um vier Byte. |
Write(UInt64) |
Schreibt eine 8-Byte-Ganzzahl ohne Vorzeichen in den aktuellen Datenstrom und wechselt die Datenstromposition um acht Bytes. |
Write7BitEncodedInt(Int32) |
Schreibt eine 32-Bit-Ganzzahl in einem komprimierten Format. |
Write7BitEncodedInt64(Int64) |
Schreibt jeweils eine Zahl von 7 Bits aus. |
Explizite Schnittstellenimplementierungen
IDisposable.Dispose() |
Gibt die nicht verwalteten Ressourcen frei, die vom BinaryWriter verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
Erweiterungsmethoden
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird. |