英語で読む

次の方法で共有


BinaryWriter クラス

定義

バイナリのプリミティブ型をストリームに書き込み、特定のエンコードでの文字列の書き込みをサポートします。

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
継承
BinaryWriter
属性
実装

次のコード例は、アプリケーション設定をファイルに格納および取得する方法を示しています。

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

注釈

BinaryWriter クラスは、ストリームへのプリミティブ データ型の書き込みを簡略化するメソッドを提供します。 たとえば、Write メソッドを使用して、ブール値を 1 バイト値としてストリームに書き込むことができます。 このクラスには、さまざまなデータ型をサポートする書き込みメソッドが含まれています。

BinaryWriter クラスの新しいインスタンスを作成するときは、書き込むストリームを指定し、必要に応じてエンコードの種類と、BinaryWriter オブジェクトを破棄した後でストリームを開いたままにするかどうかを指定します。 エンコードの種類を指定しない場合は、UTF-8 が使用されます。

重要

この型は、IDisposable インターフェイスを実装します。 型の使用が完了したら、直接または間接的に破棄する必要があります。 型を直接破棄するには、try/catch ブロックでその Dispose メソッドを呼び出します。 間接的に破棄するには、using (C#) や Using (Visual Basic) などの言語コンストラクトを使用します。 詳細については、「IDisposable インターフェイス」トピックの「IDisposable を実装するオブジェクトの使用」セクションを参照してください。

派生クラスは、このクラスのメソッドをオーバーライドして、一意の文字エンコーディングを提供できます。

コンストラクター

BinaryWriter()

ストリームに書き込む BinaryWriter クラスの新しいインスタンスを初期化します。

BinaryWriter(Stream)

指定したストリームに基づいて UTF-8 エンコードを使用して、BinaryWriter クラスの新しいインスタンスを初期化します。

BinaryWriter(Stream, Encoding)

指定したストリームと文字エンコードに基づいて、BinaryWriter クラスの新しいインスタンスを初期化します。

BinaryWriter(Stream, Encoding, Boolean)

指定したストリームと文字エンコードに基づいて BinaryWriter クラスの新しいインスタンスを初期化し、必要に応じてストリームを開いたままにします。

フィールド

Null

バッキング ストアのない BinaryWriter を指定します。

OutStream

基になるストリームを保持します。

プロパティ

BaseStream

BinaryWriterの基になるストリームを取得します。

メソッド

Close()

現在の BinaryWriter と基になるストリームを閉じます。

Dispose()

BinaryWriter クラスの現在のインスタンスで使用されているすべてのリソースを解放します。

Dispose(Boolean)

BinaryWriter によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

DisposeAsync()

BinaryWriter クラスの現在のインスタンスで使用されているすべてのリソースを非同期的に解放します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Flush()

現在のライターのすべてのバッファーをクリアし、バッファー内のデータを基になるデバイスに書き込みます。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Seek(Int32, SeekOrigin)

現在のストリーム内の位置を設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Write(Boolean)

現在のストリームに 1 バイトの Boolean 値を書き込みます。0 は false を表し、1 は trueを表します。

Write(Byte)

現在のストリームに符号なしバイトを書き込み、ストリームの位置を 1 バイト進めます。

Write(Byte[])

基になるストリームにバイト配列を書き込みます。

Write(Byte[], Int32, Int32)

バイト配列の領域を現在のストリームに書き込みます。

Write(Char)

現在のストリームに Unicode 文字を書き込み、使用されている Encoding とストリームに書き込まれる特定の文字に従って、ストリームの現在位置を進めます。

Write(Char[])

現在のストリームに文字配列を書き込み、使用されている Encoding とストリームに書き込まれる特定の文字に従って、ストリームの現在位置を進めます。

Write(Char[], Int32, Int32)

文字配列のセクションを現在のストリームに書き込み、使用されている Encoding とストリームに書き込まれる特定の文字に従ってストリームの現在位置を進めます。

Write(Decimal)

現在のストリームに 10 進値を書き込み、ストリームの位置を 16 バイト進めます。

Write(Double)

現在のストリームに 8 バイトの浮動小数点値を書き込み、ストリームの位置を 8 バイト進めます。

Write(Half)

現在のストリームに 2 バイトの浮動小数点値を書き込み、ストリームの位置を 2 バイト進めます。

Write(Int16)

現在のストリームに 2 バイト符号付き整数を書き込み、ストリーム位置を 2 バイト進めます。

Write(Int32)

現在のストリームに 4 バイト符号付き整数を書き込み、ストリーム位置を 4 バイト進めます。

Write(Int64)

現在のストリームに 8 バイト符号付き整数を書き込み、ストリーム位置を 8 バイト進めます。

Write(ReadOnlySpan<Byte>)

バイトのスパンを現在のストリームに書き込みます。

Write(ReadOnlySpan<Char>)

現在のストリームに文字のスパンを書き込み、使用されている Encoding と、ストリームに書き込まれる特定の文字に従ってストリームの現在位置を進めます。

Write(SByte)

現在のストリームに符号付きバイトを書き込み、ストリームの位置を 1 バイト進めます。

Write(Single)

現在のストリームに 4 バイトの浮動小数点値を書き込み、ストリームの位置を 4 バイト進めます。

Write(String)

BinaryWriterの現在のエンコードで、このストリームに長さプレフィックス付きの文字列を書き込み、使用されるエンコードとストリームに書き込まれる特定の文字に従ってストリームの現在位置を進めます。

Write(UInt16)

現在のストリームに 2 バイトの符号なし整数を書き込み、ストリームの位置を 2 バイト進めます。

Write(UInt32)

現在のストリームに 4 バイトの符号なし整数を書き込み、ストリームの位置を 4 バイト進めます。

Write(UInt64)

現在のストリームに 8 バイトの符号なし整数を書き込み、ストリームの位置を 8 バイト進めます。

Write7BitEncodedInt(Int32)

32 ビット整数を圧縮形式で書き込みます。

Write7BitEncodedInt64(Int64)

一度に 7 ビットの数値を書き出します。

明示的なインターフェイスの実装

IDisposable.Dispose()

BinaryWriter によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

拡張メソッド

ConfigureAwait(IAsyncDisposable, Boolean)

非同期破棄から返されるタスクの待機を実行する方法を構成します。

適用対象

製品 バージョン
.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

こちらもご覧ください