Freigeben über


Vorgehensweise: Lesen und Schreiben in eine neu erstellte Datendatei

Die System.IO.BinaryWriter Klassen System.IO.BinaryReader werden zum Schreiben und Lesen anderer Daten als Zeichenfolgen verwendet. Das folgende Beispiel zeigt, wie Sie einen leeren Dateidatenstrom erstellen, Daten in ihn schreiben und Daten daraus lesen.

Im Beispiel wird eine Datendatei namens "Test.data " im aktuellen Verzeichnis erstellt, die zugeordneten BinaryWriter Objekte BinaryReader erstellt und das BinaryWriter Objekt verwendet, um die ganzzahlen 0 bis 10 in "Test.data" zu schreiben, wodurch der Dateizeiger am Ende der Datei verbleibt. Anschließend BinaryReader legt das Objekt den Dateizeiger wieder auf den Ursprung fest und liest den angegebenen Inhalt vor.

Hinweis

Wenn "Test.data " bereits im aktuellen Verzeichnis vorhanden ist, wird eine IOException Ausnahme ausgelöst. Verwenden Sie die Datei-Option FileMode.Create, anstelle von FileMode.CreateNew, um immer eine neue Datei zu erstellen, ohne eine Ausnahme auszulösen.

Beispiel

using System;
using System.IO;

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

    public static void Main()
    {
        if (File.Exists(FILE_NAME))
        {
            Console.WriteLine($"{FILE_NAME} already exists!");
            return;
        }

        using (FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew))
        {
            using (BinaryWriter w = new BinaryWriter(fs))
            {
                for (int i = 0; i < 11; i++)
                {
                    w.Write(i);
                }
            }
        }

        using (FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read))
        {
            using (BinaryReader r = new BinaryReader(fs))
            {
                for (int i = 0; i < 11; i++)
                {
                    Console.WriteLine(r.ReadInt32());
                }
            }
        }
    }
}


// The example creates a file named "Test.data" and writes the integers 0 through 10 to it in binary format.
// It then writes the contents of Test.data to the console with each integer on a separate line.
Imports System.IO

Class MyStream
    Private Const FILE_NAME As String = "Test.data"

    Public Shared Sub Main()
        If File.Exists(FILE_NAME) Then
            Console.WriteLine($"{FILE_NAME} already exists!")
            Return
        End If

        Using fs As New FileStream(FILE_NAME, FileMode.CreateNew)
            Using w As New BinaryWriter(fs)
                For i As Integer = 0 To 10
                    w.Write(i)
                Next
            End Using
        End Using

        Using fs As New FileStream(FILE_NAME, FileMode.Open, FileAccess.Read)
            Using r As New BinaryReader(fs)
                For i As Integer = 0 To 10
                    Console.WriteLine(r.ReadInt32())
                Next
            End Using
        End Using
    End Sub
End Class

' The example creates a file named "Test.data" and writes the integers 0 through 10 to it in binary format.
' It then writes the contents of Test.data to the console with each integer on a separate line.

Siehe auch