クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
.NET Framework の基本開発
開発の基本
基本のファイル I/O
 方法 : 新しく作成されたデータ ファイルに対して読み書きする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework 開発者ガイド
方法 : 新しく作成されたデータ ファイルに対して読み書きする

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

使用例

Visual Basic
Option Explicit On 
Option Strict On
Imports System
Imports System.IO
Class MyStream
    Private Const FILE_NAME As String = "Test.data"
    Public Shared Sub Main()
        ' Create the new, empty data file.
        If File.Exists(FILE_NAME) Then
            Console.WriteLine("{0} already exists!", FILE_NAME)
            Return
        End If
        Dim fs As New FileStream(FILE_NAME, FileMode.CreateNew)
        ' Create the writer for data.
        Dim w As New BinaryWriter(fs)
        ' Write data to Test.data.
        Dim i As Integer
        For i = 0 To 10
            w.Write(CInt(i))
        Next i
        w.Close()
        fs.Close()
        ' Create the reader for data.
        fs = New FileStream(FILE_NAME, FileMode.Open, FileAccess.Read)
        Dim r As New BinaryReader(fs)
        ' Read data from Test.data.
        For i = 0 To 10
            Console.WriteLine(r.ReadInt32())
        Next i
        r.Close()
        fs.Close()
    End Sub
End Class
C#
using System;
using System.IO;
class MyStream 
{
    private const string FILE_NAME = "Test.data";
    public static void Main(String[] args) 
    {
        // Create the new, empty data file.
        if (File.Exists(FILE_NAME)) 
        {
            Console.WriteLine("{0} already exists!", FILE_NAME);
            return;
        }
        FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);
        // Create the writer for data.
        BinaryWriter w = new BinaryWriter(fs);
        // Write data to Test.data.
        for (int i = 0; i < 11; i++) 
        {
            w.Write( (int) i);
        }
        w.Close();
        fs.Close();
        // Create the reader for data.
        fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);
        BinaryReader r = new BinaryReader(fs);
        // Read data from Test.data.
        for (int i = 0; i < 11; i++) 
        {
            Console.WriteLine(r.ReadInt32());
        }
        r.Close();
        fs.Close();
    }
}

堅牢性の高いプログラム

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

参照

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2012 Microsoft. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker