この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
このドキュメントはアーカイブされており、メンテナンスされていません。

方法 : 新しく作成されたデータ ファイルに対して読み書きする

BinaryWriter クラスおよび BinaryReader クラスは、文字列ではない形式でデータを書き込んだり読み取ったりするために使用します。 新しい空のファイル ストリーム (Test.data) に対するデータの書き込みと読み取りを実行するコードの例を次に示します。 現在のディレクトリにデータ ファイルを作成した後、そのファイルに関連付けた BinaryWriterBinaryReader を作成し、BinaryWriter を使用して整数 0 ~ 10 を Test.data に書き込みます。ファイル ポインターはファイルの末尾に残っています。 BinaryReader はファイル ポインターを起点に戻してから、指定された内容を読み出します。


using System;
using System.IO;

class MyStream
{
    private const string FILE_NAME = "Test.data";

    public static void Main()
    {
        // Create the new, empty data file.
        if (File.Exists(FILE_NAME))
        {
            Console.WriteLine("{0} already exists!", FILE_NAME);
            return;
        }
        using (FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew))
        {
            // Create the writer for data.
            using (BinaryWriter w = new BinaryWriter(fs))
            {
                // Write data to Test.data.
                for (int i = 0; i < 11; i++)
                {
                    w.Write(i);
                }
            }
        }
        // Create the reader for data.
        using (FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read))
        {
            using (BinaryReader r = new BinaryReader(fs))
            {
                // Read data from Test.data.
                for (int i = 0; i < 11; i++)
                {
                    Console.WriteLine(r.ReadInt32());
                }
            }
        }
    }
}


Test.data が既に現在のディレクトリに存在する場合は、IOException がスローされます。 FileMode.Create を使用すると、IOException がスローされずに新しいファイルが必ず作成されます。

表示: