BinaryWriter Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İkili dosyadaki 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, uygulama ayarlarının bir dosyada 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
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 |
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 |
Write(Char[]) |
Geçerli akışa bir karakter dizisi yazar ve kullanılan |
Write(Char[], Int32, Int32) |
Karakter dizisinin bir bölümünü geçerli akışa yazar ve kullanılan |
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 |
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
Ayrıca bkz.
- Encoding
- Nasıl yapılır: Yeni Oluşturulan Veri Dosyası Okuma ve Yazma
- Dosya ve Akış G/Ç
- Nasıl yapılır: Dosya Metin Okuma
- Nasıl yapılır: Dosya Metin Yazma