BinaryWriter Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skriver primitiva typer i binärt värde till en ström och har stöd för att skriva strängar i en specifik kodning.
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
- Arv
-
BinaryWriter
- Attribut
- Implementeringar
Exempel
Följande kodexempel visar hur du lagrar och hämtar programinställningar i en fil.
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
Kommentarer
Klassen BinaryWriter innehåller metoder som förenklar skrivning av primitiva datatyper till en dataström. Du kan till exempel använda Write metoden för att skriva ett booleskt värde till dataströmmen som ett värde med en byte. Klassen innehåller skrivmetoder som stöder olika datatyper.
När du skapar en ny instans av BinaryWriter klassen anger du dataströmmen som du vill skriva till, och du kan också ange typen av kodning och om du vill lämna strömmen öppen efter att objektet har inaktiverats BinaryWriter . Om du inte anger någon kodningstyp används UTF-8.
Important
Den här typen implementerar IDisposable gränssnittet. När du har använt typen bör du kassera den på ett direkt eller indirekt sätt. Om du vill ta bort typen direkt anropar du dess Dispose metod i ett try/catch block. Om du vill ta bort det indirekt använder du en språkkonstruktion som using (i C#) eller Using (i Visual Basic). Mer information finns i avsnittet "Använda ett objekt som implementerar IDisposable" i IDisposable gränssnittet.
En härledd klass kan åsidosätta metoderna i den här klassen för att ge unika teckenkodningar.
Konstruktorer
| Name | Description |
|---|---|
| BinaryWriter() |
Initierar en ny instans av BinaryWriter klassen som skriver till en dataström. |
| BinaryWriter(Stream, Encoding, Boolean) |
Initierar en ny instans av BinaryWriter klassen baserat på den angivna dataströmmen och teckenkodningen, och du kan också lämna strömmen öppen. |
| BinaryWriter(Stream, Encoding) |
Initierar en ny instans av BinaryWriter klassen baserat på den angivna dataströmmen och teckenkodningen. |
| BinaryWriter(Stream) |
Initierar en ny instans av BinaryWriter klassen baserat på den angivna strömmen och använder UTF-8-kodning. |
Fält
| Name | Description |
|---|---|
| Null |
Anger ett BinaryWriter utan stödarkiv. |
| OutStream |
Innehåller den underliggande strömmen. |
Egenskaper
| Name | Description |
|---|---|
| BaseStream |
Hämtar den underliggande strömmen för BinaryWriter. |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger strömmen BinaryWriter och den underliggande strömmen. |
| Dispose() |
Släpper alla resurser som används av den aktuella instansen BinaryWriter av klassen. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av BinaryWriter och släpper eventuellt de hanterade resurserna. |
| DisposeAsync() |
Asynkront släpper alla resurser som används av den aktuella instansen BinaryWriter av klassen. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Flush() |
Rensar alla buffertar för den aktuella skrivaren och gör att buffrade data skrivs till den underliggande enheten. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Seek(Int32, SeekOrigin) |
Anger positionen i den aktuella strömmen. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| Write(Boolean) |
Skriver ett värde med en byte |
| Write(Byte) |
Skriver en osignerad byte till den aktuella strömmen och avancerar strömpositionen med en byte. |
| Write(Byte[], Int32, Int32) |
Skriver en region för en bytematris till den aktuella strömmen. |
| Write(Byte[]) |
Skriver en bytematris till den underliggande strömmen. |
| Write(Char) |
Skriver ett Unicode-tecken till den aktuella strömmen och för fram strömmens aktuella position i enlighet med de |
| Write(Char[], Int32, Int32) |
Skriver ett avsnitt av en teckenmatris till den aktuella strömmen och flyttar fram strömmens aktuella position i enlighet med de |
| Write(Char[]) |
Skriver en teckenmatris till den aktuella strömmen och flyttar fram strömmens aktuella position i enlighet med de |
| Write(Decimal) |
Skriver ett decimalvärde till den aktuella strömmen och ökar strömpositionen med sexton byte. |
| Write(Double) |
Skriver ett flyttalsvärde på åtta byte till den aktuella strömmen och avancerar strömpositionen med åtta byte. |
| Write(Half) |
Skriver ett flyttal med två byte till den aktuella strömmen och flyttar fram strömpositionen med två byte. |
| Write(Int16) |
Skriver ett signerat heltal med två byte till den aktuella strömmen och flyttar fram strömpositionen med två byte. |
| Write(Int32) |
Skriver ett fyra byte signerat heltal till den aktuella strömmen och avancerar strömpositionen med fyra byte. |
| Write(Int64) |
Skriver ett åtta byte signerat heltal till den aktuella strömmen och avancerar strömpositionen med åtta byte. |
| Write(ReadOnlySpan<Byte>) |
Skriver ett intervall med byte till den aktuella strömmen. |
| Write(ReadOnlySpan<Char>) |
Skriver ett teckenintervall till den aktuella strömmen och för fram strömmens aktuella position i enlighet med de |
| Write(SByte) |
Skriver en signerad byte till den aktuella strömmen och avancerar strömpositionen med en byte. |
| Write(Single) |
Skriver ett flyttal med fyra byte till den aktuella strömmen och flyttar fram strömpositionen med fyra byte. |
| Write(String) |
Skriver en längdprefixsträng till den här strömmen i den aktuella kodningen av BinaryWriter, och flyttar fram strömmens aktuella position i enlighet med den kodning som används och de specifika tecken som skrivs till strömmen. |
| Write(UInt16) |
Skriver ett osignerat heltal med två byte till den aktuella strömmen och flyttar fram strömpositionen med två byte. |
| Write(UInt32) |
Skriver ett osignerat heltal med fyra byte till den aktuella strömmen och avancerar strömpositionen med fyra byte. |
| Write(UInt64) |
Skriver ett osignerat heltal på åtta byte till den aktuella strömmen och avancerar strömpositionen med åtta byte. |
| Write7BitEncodedInt(Int32) |
Skriver ett 32-bitars heltal i komprimerat format. |
| Write7BitEncodedInt64(Int64) |
Skriver ut ett tal 7 bitar i taget. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Släpper de ohanterade resurser som används av BinaryWriter och släpper eventuellt de hanterade resurserna. |
Tilläggsmetoder
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfigurerar hur väntar på de uppgifter som returneras från en asynkron disponibel ska utföras. |