BinaryWriter Sınıf

Tanım

Temel türleri bir akışa ikiliye yazar ve belirli bir kodlamada dize yazmayı destekler.Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

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 depolanacağını ve alınacağını gösterir.The following code example demonstrates how to store and retrieve application settings in a file.

using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            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 (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                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);
        }
    }
}
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

BinaryWriterSınıfı, bir akışa temel veri türleri yazmayı kolaylaştıran yöntemler sağlar.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. Örneğin, Write bir bayt değeri olarak akışa bir Boole değeri yazmak için yöntemini kullanabilirsiniz.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. Sınıfı, farklı veri türlerini destekleyen yazma yöntemleri içerir.The class includes write methods that support different data types.

Sınıfının yeni bir örneğini oluşturduğunuzda, BinaryWriter yazmak için bir akış sağlarsınız ve isteğe bağlı olarak kodlama türünü ve nesneyi elden çıktıktan sonra akışın açık bırakılıp bırakıetkinleştirilmeyeceğini belirtir BinaryWriter .When you create a new instance of the BinaryWriter class, you provide the stream to write to, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryWriter object. Bir kodlama türü belirtmezseniz, UTF-8 kullanılır.If you do not specify an encoding type, UTF-8 is used.

Önemli

Bu tür, IDisposable arabirimini uygular.This type implements the IDisposable interface. Türü kullanmayı bitirdiğinizde, bunu doğrudan veya dolaylı olarak atabilirsiniz.When you have finished using the type, you should dispose of it either directly or indirectly. Türü doğrudan atmak için, Dispose yöntemini bir try / catch blokta çağırın.To dispose of the type directly, call its Dispose method in a try/catch block. Dolaylı olarak atmak için using (C# dilinde) veya (Visual Basic) gibi bir dil yapısı kullanın Using .To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Daha fazla bilgi için, interface konusunun "IDisposable uygulayan bir nesne kullanma" bölümüne bakın IDisposable .For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Türetilmiş bir sınıf, benzersiz karakter kodlamaları sağlamak için bu sınıfın yöntemlerini geçersiz kılabilir.A derived class can override the methods of this class to give unique character encodings.

Oluşturucular

BinaryWriter()

BinaryWriterBir akışa yazan sınıfın yeni bir örneğini başlatır.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

BinaryWriterBelirtilen akışa göre ve UTF-8 kodlaması kullanarak sınıfının yeni bir örneğini başlatır.Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

BinaryWriterBelirtilen akışa ve karakter kodlamaya göre sınıfın yeni bir örneğini başlatır.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

BinaryWriter(Stream, Encoding, Boolean)

BinaryWriterBelirtilen akışa ve karakter kodlamaya göre sınıfın yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

Alanlar

Null

BinaryWriterYedekleme deposu olmayan bir belirtir.Specifies a BinaryWriter with no backing store.

OutStream

Temel alınan akışı tutar.Holds the underlying stream.

Özellikler

BaseStream

Öğesinin temel alınan akışını alır BinaryWriter .Gets the underlying stream of the BinaryWriter.

Yöntemler

Close()

Geçerli BinaryWriter ve temel alınan akışı kapatır.Closes the current BinaryWriter and the underlying stream.

Dispose()

BinaryWriter sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.Releases all resources used by the current instance of the BinaryWriter class.

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.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

Zaman uyumsuz olarak, sınıfın geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır BinaryWriter .Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

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

Geçerli yazıcı için tüm arabellekleri temizler ve arabelleğe alınan verilerin temeldeki cihaza yazılmasına neden olur.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

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

TypeGeçerli örneği alır.Gets the Type of the current instance.

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

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

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

Geçerli akış içindeki konumu ayarlar.Sets the position within the current stream.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

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

BooleanGeçerli akışa 0 temsil eden false ve 1 temsil eden bir baytlık değer yazar true .Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

Geçerli akışa işaretsiz bir bayt yazar ve akış konumunu bir bayta ilerletir.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

Temel alınan akışa bir bayt dizisi yazar.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

Geçerli akışa bir bayt dizisinin bir bölgesini yazar.Writes a region of a byte array to the current stream.

Write(Char)

Geçerli akışa bir Unicode karakteri yazar ve Encoding kullanılan ve akışa yazılan belirli karakterlere göre akışın geçerli konumunu ilerletir.Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[])

Geçerli akışa bir karakter dizisi yazar ve Encoding kullanılan ve akışa yazılan belirli karakterlere göre akışın geçerli konumunu ilerletir.Writes a character array to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[], Int32, Int32)

Geçerli akışa bir karakter dizisinin bir bölümünü yazar ve Encoding kullanılan ve belki de akışa yazılmakta olan belirli karakterler doğrultusunda akışın geçerli konumunu ilerletir.Writes a section of a character array to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(Decimal)

Geçerli akışa bir ondalık değer yazar ve akış konumunu on altı bayta ilerletir.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

Geçerli akışa sekiz baytlık kayan noktalı bir değer yazar ve akış konumunu sekiz bayta ilerletir.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

Geçerli akışa iki baytlık işaretli bir tamsayı yazar ve akış konumunu iki bayt ile ilerletir.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

Geçerli akışa dört baytlık işaretli bir tamsayı yazar ve akış konumunu dört bayta ilerletir.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

Geçerli akışa sekiz baytlık işaretli bir tamsayı yazar ve akış konumunu sekiz bayta ilerletir.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

Geçerli akışa bayt yayılımı yazar.Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

Geçerli akışa bir karakter yayılımı yazar ve Encoding kullanılan ve muhtemelen akışa yazılan belirli karakterler için akışın geçerli konumunu ilerletir.Writes a span of characters to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(SByte)

Geçerli akışa imzalı bir bayt yazar ve akış konumunu bir bayta ilerletir.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

Geçerli akışa dört baytlık kayan noktalı bir değer yazar ve akış konumunu dört bayta ilerletir.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

Bu akışa bir length önekli dize yazar ve bunun geçerli kodlamasıyla, BinaryWriter kullanılan kodlamaya ve akışa yazılan belirli karakterlere uygun olarak akışın geçerli konumunu ilerletir.Writes a length-prefixed string to this stream in the current encoding of the BinaryWriter, and advances the current position of the stream in accordance with the encoding used and the specific characters being written to the stream.

Write(UInt16)

Geçerli akışa iki baytlık işaretsiz bir tamsayı yazar ve akış konumunu iki bayt ile ilerletir.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

Geçerli akışa dört baytlık işaretsiz bir tamsayı yazar ve akış konumunu dört bayta ilerletir.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

Geçerli akışa sekiz baytlık işaretsiz bir tamsayı yazar ve akış konumunu sekiz bayta ilerletir.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

Sıkıştırılmış bir biçimde 32 bitlik bir tamsayı yazar.Writes a 32-bit integer in a compressed format.

Write7BitEncodedInt64(Int64)

Her seferinde 7 bit bir sayı yazar.Writes out a number 7 bits at a time.

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.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

Uzantı Metotları

ConfigureAwait(IAsyncDisposable, Boolean)

Zaman uyumsuz bir atılabilir döndürülen görevlerin ne kadar beklediğini yapılandırır.Configures how awaits on the tasks returned from an async disposable are performed.

Şunlara uygulanır

Ayrıca bkz.