Arbeiten mit Dateien
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 26 von 66.
In C# kannst du mit Klassen aus dem Namespace System.IO mit Dateien arbeiten. Die beiden wichtigsten Klassen für Textdateien sind StreamReader (zum Lesen) und StreamWriter (zum Schreiben).
In eine Datei schreiben:
using System.IO;
// Erstelle einen StreamWriter, um in eine Datei zu schreiben
StreamWriter writer = new StreamWriter("myfile.txt");
// Schreibe Text in die Datei
writer.WriteLine("Hello, World!");
writer.WriteLine("This is line 2");
// Schließe die Datei
writer.Close();Aus einer Datei lesen:
using System.IO;
// Erstelle einen StreamReader, um aus einer Datei zu lesen
StreamReader reader = new StreamReader("myfile.txt");
// Lies den gesamten Inhalt der Datei
string content = reader.ReadToEnd();
Console.WriteLine(content);
// Schließe die Datei
reader.Close();Zeile für Zeile lesen:
StreamReader reader = new StreamReader("myfile.txt");
// Erste Zeile lesen
string line1 = reader.ReadLine();
Console.WriteLine(line1);
// Zweite Zeile lesen
string line2 = reader.ReadLine();
Console.WriteLine(line2);
reader.Close();Denk daran, deine Dateien immer mit Close() zu schließen, wenn du fertig bist!
Aufgabe
EinfachErstelle eine Methode namens ReadFile, die:
- Einen String-Parameter entgegennimmt:
filename - Den Inhalt der Datei mit
StreamReaderliest - Den Inhalt in der Konsole ausgibt
- Den Reader schließt
Probier es selbst
using System;
using System.IO;
class Program
{
public static void ReadFile(string filename)
{
// Schreibe hier deinen Code
}
static void Main(string[] args)
{
string filename = Console.ReadLine();
ReadFile(filename);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler