BinaryWriter Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Primitív típusokat ír binárisan egy streambe, és támogatja a sztringek írását egy adott kódolásban.
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
- Öröklődés
-
BinaryWriter
- Attribútumok
- Megvalósítás
Példák
Az alábbi példakód bemutatja, hogyan tárolhatja és lekérheti az alkalmazásbeállításokat egy fájlban.
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
Megjegyzések
Az BinaryWriter osztály olyan módszereket biztosít, amelyek leegyszerűsítik a primitív adattípusok streambe való írását. A metódussal Write például logikai értéket írhat a streambe egy bájtos értékként. Az osztály különböző adattípusokat támogató írási metódusokat tartalmaz.
Amikor létrehoz egy új példányt az BinaryWriter osztályban, megadja a streamet, amelybe írhat, és opcionálisan megadhatja a kódolás típusát, valamint azt, hogy az objektum törlése után nyitva hagyja-e a BinaryWriter streamet. Ha nem ad meg kódolási típust, a rendszer az UTF-8-at használja.
Important
Ez a típus implementálja a IDisposable felületet. Ha befejezte a típus használatát, közvetlenül vagy közvetve kell megsemmisítenie. A típus közvetlen ártalmatlanításához hívja meg a Dispose metódust egy try/catch blokkban. Ha közvetve szeretné megsemmisíteni, használjon olyan nyelvi szerkezetet, mint a using (C#-ban) vagy Using (a Visual Basicben). További információ: "Az IDisposable-t megvalósító objektum használata" című szakasz a IDisposable felület témakörében.
A származtatott osztály felülírhatja az osztály metódusait egyedi karakterkódolások megadásához.
Konstruktorok
| Name | Description |
|---|---|
| BinaryWriter() |
Inicializálja a BinaryWriter streambe írandó osztály új példányát. |
| BinaryWriter(Stream, Encoding, Boolean) |
Inicializálja az osztály új példányát a BinaryWriter megadott stream és karakterkódolás alapján, és opcionálisan nyitva hagyja a streamet. |
| BinaryWriter(Stream, Encoding) |
Inicializálja az osztály új példányát a BinaryWriter megadott stream és karakterkódolás alapján. |
| BinaryWriter(Stream) |
Inicializálja az osztály új példányát a BinaryWriter megadott stream alapján, és UTF-8 kódolást használ. |
Mezők
| Name | Description |
|---|---|
| Null |
BinaryWriter Egy háttértár nélküli tárolót ad meg. |
| OutStream |
A mögöttes streamet tárolja. |
Tulajdonságok
| Name | Description |
|---|---|
| BaseStream |
Lekéri a mögöttes adatfolyamot a BinaryWriter. |
Metódusok
| Name | Description |
|---|---|
| Close() |
Bezárja az aktuális BinaryWriter és a mögöttes streamet. |
| Dispose() |
Az osztály aktuális példánya által használt összes erőforrást felszabadítja BinaryWriter . |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által BinaryWriter használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| DisposeAsync() |
Aszinkron módon felszabadítja az osztály aktuális példánya által használt összes erőforrást BinaryWriter . |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Flush() |
Törli az aktuális író összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| Seek(Int32, SeekOrigin) |
Beállítja az aktuális streamen belüli pozíciót. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| Write(Boolean) |
Egy bájtos |
| Write(Byte) |
Aláíratlan bájtot ír az aktuális adatfolyamra, és egy bájttal előrelépteti a stream pozícióját. |
| Write(Byte[], Int32, Int32) |
Egy bájttömb egy régióját írja az aktuális adatfolyamba. |
| Write(Byte[]) |
Bájttömböt ír a mögöttes adatfolyamba. |
| Write(Char) |
Unicode-karaktert ír az aktuális streambe, és a használt és a streambe írt konkrét karaktereknek |
| Write(Char[], Int32, Int32) |
Egy karaktertömb egy szakaszát az aktuális streambe írja, és a stream aktuális pozícióját a |
| Write(Char[]) |
Karaktertömböt ír az aktuális streambe, és a használt és a streambe írt konkrét karaktereknek |
| Write(Decimal) |
Decimális értéket ír az aktuális adatfolyamra, és tizenhat bájttal lép előre a stream pozícióján. |
| Write(Double) |
Nyolcbájtos lebegőpontos értéket ír az aktuális streambe, és nyolc bájttal lép előre a stream pozícióján. |
| Write(Half) |
Kétbájtos lebegőpontos értéket ír az aktuális adatfolyamba, és két bájttal lép előre a stream pozícióján. |
| Write(Int16) |
Kétbájtos aláírt egész számot ír az aktuális streambe, és két bájttal előrelépteti a stream pozícióját. |
| Write(Int32) |
Négybájtos aláírt egész számot ír az aktuális streamre, és négy bájttal előrelépteti a stream pozícióját. |
| Write(Int64) |
Nyolcbájtos aláírt egész számot ír az aktuális streamre, és nyolc bájttal előrelép a stream pozícióján. |
| Write(ReadOnlySpan<Byte>) |
Bájttartományt ír az aktuális streambe. |
| Write(ReadOnlySpan<Char>) |
Több karaktert ír az aktuális streambe, és a stream aktuális pozícióját a használt és esetleg a streambe írt konkrét karaktereknek megfelelően |
| Write(SByte) |
Aláírt bájtot ír az aktuális streambe, és egy bájttal előrelépteti a stream pozícióját. |
| Write(Single) |
Négybájtos lebegőpontos értéket ír az aktuális streambe, és négy bájttal lép előre a stream pozícióján. |
| Write(String) |
Egy hosszelőtagú sztringet ír erre a streamre a BinaryWriterstream aktuális kódolásában, és a használt kódolásnak és a streambe írt konkrét karaktereknek megfelelően alakítja tovább a stream aktuális pozícióját. |
| Write(UInt16) |
Kétbájtos, aláíratlan egész számot ír az aktuális adatfolyamra, és két bájttal lép előre a stream pozícióján. |
| Write(UInt32) |
Négybájtos, aláíratlan egész számot ír az aktuális adatfolyamra, és négy bájttal lép előre a stream pozícióján. |
| Write(UInt64) |
Nyolcbájtos, aláíratlan egész számot ír az aktuális adatfolyamra, és nyolc bájttal lép előre a stream pozícióján. |
| Write7BitEncodedInt(Int32) |
32 bites egész számot ír tömörített formátumban. |
| Write7BitEncodedInt64(Int64) |
Egyszerre 7 bitet ír ki. |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Felszabadítja a felügyelt erőforrások által BinaryWriter használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
Bővítő metódusok
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfigurálja, hogy az aszinkron eldobható feladatok hogyan lesznek végrehajtva. |