25 Gäste und 0 Benutzer online | Anmelden | Registrieren


Designelement Startseite

Designelement Windows-Artikel
  Designelement Problemlösungen
  Designelement Einstellungen
  Designelement Anleitungen
  Designelement Hardware
  Designelement FAQ
  Designelement C#.NET

Designelement Forum
Designelement Gästebuch

Designelement Programme
  Designelement Onlinetools
  Designelement Downloads

Designelement Suche
Designelement Links

Designelement Impressum
Designelement Kontakt

Designelement Anmelden





Zu den C#.NET-Artikeln

  Datei zeilenweise auslesen - C#
Am 08.10.2007 verfasst von Andreas Nägeli. Hits: 1453

Für einfache Parser ist es häufig nötig eine Datei Zeile für Zeile auszulesen. Die Klasse StreamReader im System.IO Namespace bietet dabei alles, was man hierfür benötigt.

Im Beispiel wird die Datei C:\Datei.txt ausgelesen und der Inhalt zeilenweise in der Konsole ausgegeben.

using System.IO;
String line = "";
try {
  StreamReader reader = new StreamReader(@"C:\datei.txt");
  while ((line = reader.ReadLine()) != null) {
    Console.WriteLine(line);
  }
  reader.Close();
}
catch {
  // Fehler beim Öffnen der Datei
}


Zunächst initialisieren wir ein neues StreamReader-Objekt, das auf unserer (nun geöffneten) Datei arbeitet. Das @-Zeichen vor dem Dateistring sorgt dafür, dass der Backslash nicht als Escapezeichen gewertet wird.

Im nächsten Schritt rufen wir nun so lange die ReadLine-Funktion des Objekts auf, bis diese keine Daten mehr aus der Datei lesen kann und null zurückliefert. In der while-Schleife können die gewonnen Daten in Form der Variable line verarbeitet werden.

Wird der Catch-Block aufgerufen, so konnte die Datei nicht geöffnet oder gelesen werden, z.B. weil sie nicht existiert. Hier sollte dann eine geeignete Fehlerbehandlung eingebaut werden.

Bitte beachten Sie, dass Dateien nur dann korrekt gelesen werden können, wenn die richtige Kodierung gewählt wird. Ansonsten werden die einzelnen Zeichen der Datei falsch dargestellt (einschließlich Zeilenumbrüchen).

Einen anderen Zeichensatz können Sie über den überladenen Konstruktor der StreamReader-Klasse wählen.

StreamReader reader = new StreamReader(@"C:\datei.txt", Encoding.Unicode);


Kommentiertes Codebeispiel herunterladen (CLReadFile.rar, 13 KB, VS80)

Bewertung dieses Artikels von 6 Benutzern: Mit 8 von 10 Punkten bewertet - 8.17 / 10 Punkte

Wie finden Sie diesen Artikel?











  2002 - 2008 Designelement Computerleben.net Designelement Sitemap