BinaryWriter クラス

定義

プリミティブ型をバイナリでストリームに書き込みます。特定のエンコーディングの文字列の書き込みをサポートします。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
継承
BinaryWriter
属性
実装

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

注釈

BinaryWriterクラスには、プリミティブデータ型のストリームへの書き込みを容易にするメソッドが用意されています。The BinaryWriter class provides methods that simplify writing primitive data types to a stream. たとえば、メソッドを使用し Write て、1バイト値としてストリームにブール値を書き込むことができます。For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. クラスには、さまざまなデータ型をサポートする書き込みメソッドが含まれています。The class includes write methods that support different data types.

クラスの新しいインスタンスを作成するときは、書き込み先のストリームを指定し、必要に応じて、 BinaryWriter エンコードの種類と、オブジェクトを破棄した後にストリームを開いたままにするかどうかを指定し 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. エンコードの種類を指定しない場合は、UTF-8 が使用されます。If you do not specify an encoding type, UTF-8 is used.

重要

この型は IDisposable インターフェイスを実装します。This type implements the IDisposable interface. 型の使用が完了したら、直接的または間接的に型を破棄する必要があります。When you have finished using the type, you should dispose of it either directly or indirectly. 直接的に型を破棄するには、try/catch ブロック内で Dispose メソッドを呼び出します。To dispose of the type directly, call its Dispose method in a try/catch block. 間接的に型を破棄するには、using (C# の場合) または Using (Visual Basic 言語) などの言語構成要素を使用します。To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 詳細については、IDisposable インターフェイスに関するトピック内の「IDisposable を実装するオブジェクトの使用」セクションを参照してください。For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

派生クラスでは、このクラスのメソッドをオーバーライドして、一意の文字エンコーディングを指定できます。A derived class can override the methods of this class to give unique character encodings.

コンストラクター

BinaryWriter()

ストリームへの書き込みを行う BinaryWriter クラスの新しいインスタンスを初期化します。Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

指定したストリームに基づき、UTF-8 エンコーディングを使用する BinaryWriter クラスの新しいインスタンスを初期化します。Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

指定したストリームと文字エンコーディングに基づいて、BinaryWriter クラスの新しいインスタンスを初期化します。Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

BinaryWriter(Stream, Encoding, Boolean)

指定したストリームと文字エンコーディングに基づいて BinaryWriter クラスの新しいインスタンスを初期化し、必要に応じて、ストリームを開いたままにします。Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

フィールド

Null

バッキング ストアを持たない BinaryWriter を指定します。Specifies a BinaryWriter with no backing store.

OutStream

基になるストリームを保持します。Holds the underlying stream.

プロパティ

BaseStream

BinaryWriter の基になるストリームを取得します。Gets the underlying stream of the BinaryWriter.

メソッド

Close()

現在の BinaryWriter、および基になるストリームを閉じます。Closes the current BinaryWriter and the underlying stream.

Dispose()

BinaryWriter クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。Releases all resources used by the current instance of the BinaryWriter class.

Dispose(Boolean)

BinaryWriter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

BinaryWriter クラスの現在のインスタンスによって使用されているすべてのリソースを非同期で解放します。Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
Flush()

現在のライターのすべてのバッファーをクリアし、バッファー内のデータを基になるデバイスに書き込みます。Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

現在のストリーム内の位置を設定します。Sets the position within the current stream.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
Write(Boolean)

現在のストリームに 1 バイト Boolean 値を書き込みます。0 は false を表し、1 は true を表します。Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

現在のストリームに符号なしバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

基になるストリームにバイト配列を書き込みます。Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

現在のストリームにバイト配列の領域を書き込みます。Writes a region of a byte array to the current stream.

Write(Char)

現在のストリームに Unicode 文字を書き込み、使用した Encoding とストリームに書き込んだ特定の文字に従ってストリームの現在位置を進めます。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[])

現在のストリームに文字配列を書き込み、使用した Encoding とストリームに書き込んだ特定の文字に従ってストリームの現在位置を進めます。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)

現在のストリームに文字配列セクションを書き込み、使用した Encoding とストリームに書き込んだ特定の文字に従ってストリームの現在位置を進めます。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)

現在のストリームに 10 進値を書き込み、ストリームの位置を 16 バイトだけ進めます。Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

現在のストリームに 8 バイト浮動小数点値を書き込み、ストリームの位置を 8 バイトだけ進めます。Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

現在のストリームに 2 バイト符号付き整数を書き込み、ストリームの位置を 2 バイトだけ進めます。Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

現在のストリームに 4 バイト符号付き整数を書き込み、ストリームの位置を 4 バイトだけ進めます。Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

現在のストリームに 8 バイト符号付き整数を書き込み、ストリームの位置を 8 バイトだけ進めます。Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

現在のストリームにバイトのスパンを書き込みます。Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

現在のストリームに文字のスパンを書き込み、使用した Encoding とストリームに書き込んだ特定の文字に従ってストリームの現在位置を進めます。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)

現在のストリームに符号付きバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

現在のストリームに 4 バイト浮動小数点値を書き込み、ストリームの位置を 4 バイトだけ進めます。Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

長さを示すプレフィックスを付けた文字列を、BinaryWriter の現在のエンコーディングでこのストリームに書き込み、使用したエンコーディングとストリームに書き込んだ特定の文字に従ってストリームの現在位置を進めます。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)

現在のストリームに 2 バイト符号なし整数を書き込み、ストリームの位置を 2 バイトだけ進めます。Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

現在のストリームに 4 バイト符号なし整数を書き込み、ストリームの位置を 4 バイトだけ進めます。Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

現在のストリームに 8 バイト符号なし整数を書き込み、ストリームの位置を 8 バイトだけ進めます。Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

32 ビット整数を圧縮形式で書き込みます。Writes a 32-bit integer in a compressed format.

Write7BitEncodedInt64(Int64)

一度に数値の 7 ビットが書き込まれます。Writes out a number 7 bits at a time.

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

IDisposable.Dispose()

BinaryWriter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

拡張メソッド

ConfigureAwait(IAsyncDisposable, Boolean)

非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。Configures how awaits on the tasks returned from an async disposable are performed.

適用対象

こちらもご覧ください