BinaryWriter BinaryWriter BinaryWriter BinaryWriter Class

定義

プリミティブ型をバイナリでストリームに書き込みます。特定のエンコーディングの文字列の書き込みをサポートします。Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

public ref class BinaryWriter : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class BinaryWriter : IDisposable
type BinaryWriter = class
    interface IDisposable
Public Class BinaryWriter
Implements IDisposable
継承
BinaryWriterBinaryWriterBinaryWriterBinaryWriter
属性
実装

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

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

BinaryWriter(Stream) BinaryWriter(Stream) BinaryWriter(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(Stream, Encoding) BinaryWriter(Stream, 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(Stream, Encoding, Boolean) BinaryWriter(Stream, Encoding, Boolean) 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 Null Null Null

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

OutStream OutStream OutStream OutStream

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

プロパティ

BaseStream BaseStream BaseStream BaseStream

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

メソッド

Close() Close() Close() Close()

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

Dispose() Dispose() Dispose() Dispose()

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

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

DisposeAsync() DisposeAsync() DisposeAsync() DisposeAsync()
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
Flush() Flush() Flush() Flush()

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Seek(Int32, SeekOrigin) Seek(Int32, SeekOrigin) Seek(Int32, SeekOrigin) Seek(Int32, SeekOrigin)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)
Write(Boolean) Write(Boolean) Write(Boolean) 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) Write(Byte) Write(Byte) Write(Byte)

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

Write(Byte[]) Write(Byte[]) Write(Byte[]) Write(Byte[])

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

Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32)

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

Write(Char) Write(Char) Write(Char) 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[]) Write(Char[]) Write(Char[]) 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) Write(Char[], Int32, Int32) Write(Char[], Int32, Int32) 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) Write(Decimal) Write(Decimal) Write(Decimal)

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

Write(Double) Write(Double) Write(Double) 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) Write(Int16) Write(Int16) Write(Int16)

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

Write(Int32) Write(Int32) Write(Int32) Write(Int32)

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

Write(Int64) Write(Int64) Write(Int64) 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>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>)
Write(ReadOnlySpan<Char>) Write(ReadOnlySpan<Char>) Write(ReadOnlySpan<Char>) Write(ReadOnlySpan<Char>)
Write(SByte) Write(SByte) Write(SByte) Write(SByte)

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

Write(Single) Write(Single) Write(Single) 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) Write(String) Write(String) 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) Write(UInt16) Write(UInt16) Write(UInt16)

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

Write(UInt32) Write(UInt32) Write(UInt32) Write(UInt32)

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

Write(UInt64) Write(UInt64) Write(UInt64) Write(UInt64)

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

Write7BitEncodedInt(Int32) Write7BitEncodedInt(Int32) Write7BitEncodedInt(Int32) Write7BitEncodedInt(Int32)

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

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

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

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

適用対象

こちらもご覧ください