C# Bestands-I/O Beheersen: Lezen, Schrijven en Streams Beheren
Een stream is een reeks bytes door een communicatiepad. Twee hoofstreams: input stream (lezen) en output stream (schrijven).
C# I/O Klassen
De System.IO namespace bevat klassen voor bestandsbewerkingen: aanmaken, verwijderen, lezen, schrijven, sluiten.
| Nr | I/O Klasse & Beschrijving |
|---|---|
| 1 | BinaryReader – Leest primitieve data uit binaire stream. |
| 2 | BinaryWriter – Schrijft primitieve data in binair formaat. |
| 3 | BufferedStream – Tijdelijke opslag voor stream bytes. |
| 4 | Directory – Manipuleert directorystructuur. |
| 5 | DirectoryInfo – Bewerkingen op directories. |
| 6 | DriveInfo – Informatie over stations. |
| 7 | File – Manipuleert bestanden. |
| 8 | FileInfo – Bewerkingen op bestanden. |
| 9 | FileStream – Lezen/schrijven op willekeurige locatie in bestand. |
| 10 | MemoryStream – Willekeurige toegang tot in-geheugen gestreamde data. |
| 11 | Path – Bewerkingen op padinformatie. |
| 12 | StreamReader – Leest karakters uit bytestream. |
| 13 | StreamWriter – Schrijft karakters naar stream. |
| 14 | StringReader – Leest uit string-buffer. |
| 15 | StringWriter – Schrijft naar string-buffer. |
De FileStream Klasse
FileStream (uit System.IO) helpt bij lezen, schrijven, sluiten. Erft van abstracte Stream.
Creëer FileStream object voor nieuw/geopend bestand:
FileStream <object_naam> = new FileStream(<bestandsnaam>, <FileMode>, <FileAccess>, <FileShare>);
Voorbeeld: lezen van sample.txt:
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Parameters
| Nr | Parameter & Beschrijving |
|---|---|
| 1 | FileMode – Methodes openen: Append, Create, CreateNew, Open, OpenOrCreate, Truncate. |
| 2 | FileAccess – Read, ReadWrite, Write. |
| 3 | FileShare – Inheritable, None, Read, ReadWrite, Write. |
Voorbeeld: FileStream Gebruik
using System;
using System.IO;
namespace BestandsIOApplicatie {
class Program {
static void Main(string[] args) {
FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++) F.WriteByte((byte)i);
F.Position = 0;
for (int i = 0; i <= 20; i++) Console.Write(F.ReadByte() + " ");
F.Close();
Console.ReadKey();
}
}
}
Uitvoer: 1 2 3 ... 20 -1 (-1 = einde van stream).
Geavanceerde Bestandsbewerkingen
| Nr | Onderwerp & Beschrijving |
|---|---|
| 1 | Lezen/schrijven in tekstbestanden – StreamReader, StreamWriter. |
| 2 | Lezen/schrijven in binaire bestanden – BinaryReader, BinaryWriter. |
| 3 | Windows bestandssysteem manipuleren – Bladeren/zoeken in bestanden/mappen. |
C Taal
- Titaan: Sleutelkenmerken, Toepassingen en Industriële Gebruik
- Kastagnetten: Geschiedenis, Vakmanschap en Uitvoering
- De Geschiedenis, Productie en Toekomst van Lijm: Van Oude Hechtmiddelen tot Moderne Innovaties
- Tin: Van de bronstijd tot moderne industrie – Toepassingen, productie en toekomst
- Vijl Gereedschappen Onder de Loep: Precisiesnijden voor Metaal en Hout Projecten
- C Input en Output (I/O) Beheersen: scanf() en printf() Uitgelegd
- C Bestandsbehandeling: I/O onder de knie krijgen met fopen, fprintf, fread en fseek
- Bestands-I/O in C: Bestanden aanmaken, openen, lezen en schrijven
- C Header-bestanden begrijpen: Typen, gebruik en best practices
- Python-bestands-I/O: bestandsbewerkingen, lezen, schrijven en beheer beheersen
- Python Bestands I/O: In- en uitvoerbewerkingen onder de knie krijgen