İngilizce dilinde oku

Aracılığıyla paylaş


BinaryWriter Sınıf

Tanım

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

C#
public class BinaryWriter : IDisposable
C#
public class BinaryWriter : IAsyncDisposable, IDisposable
C#
[System.Serializable]
public class BinaryWriter : IDisposable
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryWriter : IDisposable
Devralma
BinaryWriter
Öznitelikler
Uygulamalar

Örnekler

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

C#
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);
        }
    }
}

Açıklamalar

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

BinaryWriter sınıfının yeni bir örneğini oluşturduğunuzda, yazılacak akışı sağlarsınız ve isteğe bağlı olarak kodlama türünü ve BinaryWriter nesnesini kullandıktan 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 IDisposable arabirimini uygular. Türünü kullanmayı bitirdiğinizde, doğrudan veya dolaylı olarak atmalısınız. Türü doğrudan atmak için Dispose yöntemini bir try/catch bloğunda çağırın. Bunu dolaylı olarak atmak için using (C#'de) veya Using (Visual Basic'te) gibi bir dil yapısı kullanın. Daha fazla bilgi için IDisposable arabirimi konusunun "IDisposable Uygulayan Bir Nesne Kullanma" bölümüne 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 BinaryWriter sınıfının yeni bir örneğini başlatır.

BinaryWriter(Stream)

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

BinaryWriter(Stream, Encoding)

Belirtilen akışa ve karakter kodlamaya göre BinaryWriter sınıfının yeni bir örneğini başlatır.

BinaryWriter(Stream, Encoding, Boolean)

Belirtilen akış ve karakter kodlaması temelinde BinaryWriter 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

BinaryWritertemel alınan akışını alır.

Yöntemler

Close()

Geçerli BinaryWriter 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 isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

DisposeAsync()

BinaryWriter sınıfının geçerli örneği 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()

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

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

Geçerli Objectbasit 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 bir dize döndürür.

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

Geçerli akışa tek baytlık bir Boolean değer yazar; 0 false ve 1 truetemsil eder.

Write(Byte)

Geçerli akışa imzasız 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 bölgesini yazar.

Write(Char)

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

Write(Char[])

Geçerli akışa bir karakter dizisi yazar ve kullanılan Encoding ve akışa yazılan belirli karakterlere göre 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 Encoding ve belki de akışa yazılan belirli karakterlere göre akışın geçerli konumunu ilerletir.

Write(Decimal)

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

Write(Double)

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

Write(Half)

Geçerli akışa iki baytlık 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 bayt 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 Encoding ve belki de akışa yazılan belirli karakterlere göre 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 kayan nokta değeri yazar ve akış konumunu dört bayt ilerletir.

Write(String)

BinaryWritergeçerli kodlamasında bu 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 isteğe bağlı olarak yönetilen kaynakları 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ştirileceğini yapılandırılır.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.