Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C# Datei-E/A: Lesen, Schreiben & Stream-Verwaltung

Datei & Stream

Eine Datei ist persistente Daten auf Datenträger. Beim Öffnen wird ein Stream (Byte-Fluss) erstellt:

Wichtige System.IO Klassen

KlasseZweck
FileStatische Helfer: ReadAllText, WriteAllText, Exists, Copy, Delete, …
FileInfoInstanzbasierte Operationen auf einer Datei.
Directory / DirectoryInfoVerzeichnis-Operationen.
PathPfadmanipulation (Combine, GetExtension, GetTempFileName).
FileStreamByte-basierter Low-Level-Zugriff (Position, Seek).
StreamReader / StreamWriterText-Lesen/Schreiben (Encoding, Zeilenweise).
BinaryReader / BinaryWriterPrimitive Typen binär lesen/schreiben.
MemoryStreamStream im RAM (schnell, temporär).
BufferedStreamPufferung über anderem Stream.

FileStream – Low-Level

using (FileStream fs = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
    for (int i = 1; i <= 20; i++) fs.WriteByte((byte)i);
    fs.Position = 0;
    for (int i = 0; i <= 20; i++) Console.Write(fs.ReadByte() + " ");
}
// Ausgabe: 1 2 ... 20 -1

FileMode Enum

Text-Dateien: StreamReader / StreamWriter

// Schreiben
using (StreamWriter sw = new StreamWriter("log.txt", append: true, Encoding.UTF8))
{
    sw.WriteLine($"Log: {DateTime.Now}");
    sw.WriteLine("Zeile 2");
}

// Lesen (ganze Datei)
string all = File.ReadAllText("log.txt");

// Lesen zeilenweise
using (StreamReader sr = new StreamReader("log.txt"))
{
    string line;
    while ((line = sr.ReadLine()) != null)
        Console.WriteLine(line);
}

Binär-Dateien: BinaryWriter / BinaryReader

using (BinaryWriter bw = new BinaryWriter(File.Open("data.bin", FileMode.Create)))
{
    bw.Write(123);           // int
    bw.Write(3.14);          // double
    bw.Write("Hello");       // string (länge + bytes)
}

using (BinaryReader br = new BinaryReader(File.Open("data.bin", FileMode.Open)))
{
    int i = br.ReadInt32();
    double d = br.ReadDouble();
    string s = br.ReadString();
}

Modernes API (.NET Core / .NET 5+)

Best Practices

C Sprache

  1. Titan: Schlüsseleigenschaften, Anwendungen und industrielle Nutzung
  2. Kastagnetten: Geschichte, Handwerkskunst und Performance
  3. Zinn: Von der Bronzezeit zur modernen Industrie – Nutzung, Produktion und Zukunft
  4. C Eingabe und Ausgabe (I/O) meistern: scanf() und printf() erklärt
  5. C-Dateiverwaltung: I/O mit fopen, fprintf, fread & fseek meistern
  6. Python File I/O: Dateioperationen, Lesen, Schreiben und Verwaltung meistern
  7. Datei-I/O in C meistern: Erstellen, Öffnen & Verwalten von Dateien
  8. C-Header-Dateien verstehen: Typen, Verwendung und Best Practices
  9. Python Datei-E/A: Eingabe- und Ausgabeoperationen meistern
  10. Feilen meistern: Präzisionsbearbeitung für Metall- und Holzprojekte