Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Klasserna System.IO.BinaryWriter och System.IO.BinaryReader används för att skriva och läsa andra data än teckensträngar. I följande exempel visas hur du skapar en tom filström, skriver data till den och läser data från den.
Exemplet skapar en datafil med namnet Test.data i den aktuella katalogen, skapar associerade BinaryWriter objekt och BinaryReader objekt och använder BinaryWriter objektet för att skriva heltalen 0 till 10 till Test.data, vilket lämnar filpekaren i slutet av filen. Objektet BinaryReader anger sedan filpekaren tillbaka till ursprunget och läser upp det angivna innehållet.
Anmärkning
Om Test.data redan finns i den aktuella katalogen genereras ett IOException undantag. Använd alternativet FileMode.Create filläge i stället FileMode.CreateNew för att alltid skapa en ny fil utan att utlösa ett undantag.
Exempel
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.
Se även
- BinaryReader
- BinaryWriter
- FileStream
- FileStream.Seek
- SeekOrigin
- Gör så här: Räkna upp kataloger och filer
- Gör så här: Öppna och lägg till i en loggfil
- Anvisningar: Läsa text från en fil
- Anvisningar: Skriva text till en fil
- Anvisningar: Läsa tecken från en sträng
- Anvisningar: Skriva tecken till en sträng
- Fil- och ström-I/O