BinaryWriter Sınıf

Tanım

İkili tabandaki ilkel türleri bir akışa yazar ve belirli bir kodlamada dize yazmayı destekler.

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
Devralma
BinaryWriter
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bir dosyada uygulama ayarlarının nasıl depolanıp alınduğunu gösterir.

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

Açıklamalar

sınıfı, BinaryWriter bir akışa ilkel veri türleri yazmayı basitleştiren yöntemler sağlar. Örneğin, bir boole değerini akışa tek baytlık değer olarak yazmak için yöntemini kullanabilirsiniz Write . sınıfı, farklı veri türlerini destekleyen yazma yöntemleri içerir.

sınıfının yeni bir örneğini BinaryWriter oluşturduğunuzda, yazılacak akışı sağlar ve isteğe bağlı olarak kodlama türünü ve nesneyi yok ettikten BinaryWriter sonra akışın açık bırakılıp bırakılmayacağını belirtirsiniz. Kodlama türü belirtmezseniz UTF-8 kullanılır.

Önemli

Bu tür arabirimini IDisposable uygular. Türünü kullanmayı bitirdiğinizde, doğrudan veya dolaylı olarak atmalısınız. Türü doğrudan atmak için yöntemini bir try/catch blok içinde çağırın.Dispose Bunu dolaylı olarak atmak için (C#'de) veya Using (Visual Basic'te) gibi using bir dil yapısı kullanın. Daha fazla bilgi için arabirim konusunun "IDisposable Uygulayan Bir Nesne Kullanma" bölümüne IDisposable bakın.

Türetilmiş bir sınıf, benzersiz karakter kodlamaları vermek için bu sınıfın yöntemlerini geçersiz kılabilir.

Oluşturucular

BinaryWriter()

Bir akışa yazan sınıfının yeni bir örneğini BinaryWriter başlatır.

BinaryWriter(Stream)

Belirtilen akışı temel alarak ve UTF-8 kodlamasını kullanarak sınıfının yeni bir örneğini BinaryWriter başlatır.

BinaryWriter(Stream, Encoding)

Belirtilen akış ve karakter kodlaması BinaryWriter temelinde sınıfının yeni bir örneğini başlatır.

BinaryWriter(Stream, Encoding, Boolean)

Belirtilen akış ve karakter kodlaması BinaryWriter temelinde sınıfının yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır.

Alanlar

Null

Yedekleme deposu olmayan bir BinaryWriter belirtir.

OutStream

Temel alınan akışı tutar.

Özellikler

BaseStream

temel alınan akışını BinaryWriteralır.

Yöntemler

Close()

Geçerli BinaryWriter akışı ve temel alınan akışı kapatır.

Dispose()

BinaryWriter sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

BinaryWriter tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

DisposeAsync()

Sınıfın geçerli örneği BinaryWriter tarafından kullanılan tüm kaynakları zaman uyumsuz olarak serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Flush()

Geçerli yazıcı için tüm arabellekleri temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Seek(Int32, SeekOrigin)

Geçerli akış içindeki konumu ayarlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
Write(Boolean)

Geçerli akışa 0 ve öğesini temsil eden false 1 trueile bir baytlık Boolean bir değer yazar.

Write(Byte)

Geçerli akışa imzalanmamış bir bayt yazar ve akış konumunu bir bayt ilerletir.

Write(Byte[])

Temel alınan akışa bir bayt dizisi yazar.

Write(Byte[], Int32, Int32)

Geçerli akışa bayt dizisinin bir bölgesini yazar.

Write(Char)

Geçerli akışa bir Unicode karakteri yazar ve kullanılan ve akışa yazılan belirli karakterlere uygun Encoding olarak akışın geçerli konumunu ilerletir.

Write(Char[])

Geçerli akışa bir karakter dizisi yazar ve kullanılan ve akışa yazılan belirli karakterlere uygun Encoding olarak akışın geçerli konumunu ilerletir.

Write(Char[], Int32, Int32)

Karakter dizisinin bir bölümünü geçerli akışa yazar ve kullanılan ve belki de akışa yazılan belirli karakterlere uygun Encoding olarak akışın geçerli konumunu ilerletir.

Write(Decimal)

Geçerli akışa ondalık bir değer yazar ve akış konumunu on altı bayt ilerletir.

Write(Double)

Geçerli akışa sekiz baytlık bir kayan nokta değeri yazar ve akış konumunu sekiz bayt ilerletir.

Write(Half)

Geçerli akışa iki baytlık bir kayan nokta değeri yazar ve akış konumunu iki bayt ilerletir.

Write(Int16)

Geçerli akışa iki baytlık imzalı bir tamsayı yazar ve akış konumunu iki bayt ilerletir.

Write(Int32)

Geçerli akışa dört baytlık imzalı bir tamsayı yazar ve akış konumunu dört bayt ilerletir.

Write(Int64)

Geçerli akışa sekiz baytlık imzalı bir tamsayı yazar ve akış konumunu sekiz bayt ilerletir.

Write(ReadOnlySpan<Byte>)

Geçerli akışa bir bayt aralığı yazar.

Write(ReadOnlySpan<Char>)

Geçerli akışa bir karakter aralığı yazar ve kullanılan ve belki de akışa yazılan belirli karakterlere uygun Encoding olarak akışın geçerli konumunu ilerletir.

Write(SByte)

Geçerli akışa imzalı bir bayt yazar ve akış konumunu bir bayt ilerletir.

Write(Single)

Geçerli akışa dört baytlık bir kayan nokta değeri yazar ve akış konumunu dört bayt ilerletir.

Write(String)

geçerli kodlamasında BinaryWriterbu akışa uzunluk ön ekli bir dize yazar ve kullanılan kodlamaya ve akışa yazılan belirli karakterlere uygun olarak akışın geçerli konumunu ilerletir.

Write(UInt16)

geçerli akışa iki baytlık işaretsiz bir tamsayı yazar ve akış konumunu iki bayt ilerletir.

Write(UInt32)

Geçerli akışa dört baytlık işaretsiz bir tamsayı yazar ve akış konumunu dört bayt ilerletir.

Write(UInt64)

Geçerli akışa sekiz baytlık işaretsiz bir tamsayı yazar ve akış konumunu sekiz bayt ilerletir.

Write7BitEncodedInt(Int32)

Sıkıştırılmış biçimde 32 bitlik bir tamsayı yazar.

Write7BitEncodedInt64(Int64)

Bir kerede 7 bitlik bir sayı yazar.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

BinaryWriter tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

Uzantı Metotları

ConfigureAwait(IAsyncDisposable, Boolean)

Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirildiğini yapılandıran.

Şunlara uygulanır

Ayrıca bkz.