Procedure: lezen en schrijven naar een nieuw gemaakt gegevensbestand
De System.IO.BinaryWriter en System.IO.BinaryReader klassen worden gebruikt voor het schrijven en lezen van andere gegevens dan tekenreeksen. In het volgende voorbeeld ziet u hoe u een lege bestandsstroom maakt, gegevens naar het bestand schrijft en gegevens uit het bestand leest.
In het voorbeeld wordt een gegevensbestand met de naam Test.data gemaakt in de huidige map, worden de bijbehorende BinaryWriter en BinaryReader objecten gemaakt en wordt het BinaryWriter object gebruikt om de gehele getallen 0 tot en met 10 naar Test.data te schrijven, waardoor de bestandswijzer aan het einde van het bestand blijft staan. Het BinaryReader object stelt vervolgens de bestandswijzer weer in op de oorsprong en leest de opgegeven inhoud uit.
Notitie
Als Test.data al bestaat in de huidige map, wordt er een IOException uitzondering gegenereerd. Gebruik de optie FileMode.Create bestandsmodus in plaats FileMode.CreateNew van altijd een nieuw bestand te maken zonder een uitzondering te genereren.
Voorbeeld
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.
Zie ook
- BinaryReader
- BinaryWriter
- FileStream
- FileStream.Seek
- SeekOrigin
- Procedure: Mappen en bestanden opsommen
- Procedure: Openen en toevoegen aan een logboekbestand
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
- Procedure: Tekens uit een tekenreeks lezen
- Procedure: Tekens naar een tekenreeks schrijven
- I/O voor bestanden en streamen