Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

So lesen Sie eine Textdatei mithilfe von System.IO und Visual C#

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 306777
Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 302309.

Dieser Artikel bezieht sich auf die folgenden Namespaces für Microsoft.NET Framework-Klassenbibliothek:
  • System.IO
  • System.Collections
Zusammenfassung
Dieser Artikel veranschaulicht das Abrufen von Informationen aus einer Textdatei (txt) und dann eine ArrayList -Klasse verwenden, um diese Informationen dem Benutzer anzuzeigen.

Anforderungen

Microsoft Visual C#

Lesen von Textdateien in Visual C#

Öffnen und Lesen von Dateien für Lesezugriff ist ein wichtiger Bestandteil der Eingabe/Ausgabe (e/a) Funktionalität, selbst wenn Sie nicht auf die betreffende Datei schreiben müssen. In diesem Beispiel öffnet eine Datei zum Lesen, die für das Lesen von Textdateien nützlich, jedoch für Binärdateien nicht geeignet ist. In diesem Beispiel verwendet eine von vielen Methoden, die zum Öffnen der Datei zur Verfügung stehen.

Obwohl viele Datenstrukturen zur Verfügung stehen, um Informationen zu speichern, die aus der Datei abgerufen werden, ist die ArrayList -Klasse die einfachste Struktur die man verwenden kann. Dieses Beispiel verwendet öffnen und aus der Datei gelesen, Objekte aus dem System.IO -Namespace, nämlich die Klasse System.IO.StreamReader .

Hinweis Dieses Beispiel erfordert eine Form einer Textdatei (txt), aus dem gelesen wird.

Zum Laden und Lesen einer Textdatei aus Visual C#, gehen Sie folgendermaßen vor:
  1. Starten Sie Microsoft Visual Studio.
  2. Erstellen Sie eine neue Konsolenanwendung in Visual C#. Visual Studio erstellt eine Statische Klasse und eine leere Main() Prozedur für Sie.
  3. Stellen Sie sicher, dass das Projekt mindestens den System -Namespace verweist. Verwenden Sie die using -Anweisung für die System, System.IOund System.Collections -Namespaces, damit Sie keine Deklarationen aus diesen Namespaces später im Code vornehmen müssen. Sie müssen diese Anweisungen vor allen anderen Deklarationen verwenden.
    using System;using System.IO;using System.Collections;					
  4. Um eine Datei zum Lesen zu öffnen, erstellen Sie eine neue Instanz eines StreamReader -Objekts und übergeben Sie der Pfad der Datei wie folgt an den Konstruktor:
    StreamReader objReader = new StreamReader("c:\\test.txt");					
  5. Sie benötigen eine Zeichenfolgenvariable, in dem der Inhalt der Datei zeilenweise gespeichert werden kann. Da Sie diese Zeilen zu einer ArrayListhinzufügen, deklarieren, und auch ein Objekt dieses Typs zu erstellen.
    string sLine="";ArrayList arrText = new ArrayList();					
  6. Es gibt mehrere Möglichkeiten, die Datei in, einschließlich der ReadToEnd -Methode liest in die gesamte Datei auf einmal zu lesen. Aber in diesem Beispiel können die ReadLine -Methode Sie in die Datei zeilenweise einliest. Wenn das Ende der Datei erreicht ist, gibt diese Methode eine Null, die bietet eine Möglichkeit zum Beenden der Schleife. Während Sie jede Zeile aus der Datei lesen, können Sie die Add -Methode der ArrayList , die ArrayList -Klasse die Zeilen einzufügen.
    while (sLine != null){	sLine = objReader.ReadLine();	if (sLine != null)		arrText.Add(sLine);}objReader.Close();					
  7. Verwenden Sie eine For Each -Schleife kann den Inhalt Ihrer neu gefüllten ArrayList wie folgt auf der Konsole ausgegeben:
    foreach (string sOutput in arrText)	Console.WriteLine(sOutput);Console.ReadLine();					
  8. Speichern Sie, und führen Sie den Code, der eine Liste Ihrer Datei auf der Konsole erzeugt.

Vollständige Codeauflistung

using System;using System.IO;using System.Collections;namespace TextFileReader_csharp{	/// <summary>	/// Summary description for Class1.	/// </summary>	class Class1	{		static void Main(string[] args)		{			StreamReader objReader = new StreamReader("c:\\test.txt");			string sLine="";			ArrayList arrText = new ArrayList();			while (sLine != null)			{				sLine = objReader.ReadLine();				if (sLine != null)					arrText.Add(sLine);			}                        objReader.Close();			foreach (string sOutput in arrText)				Console.WriteLine(sOutput);			Console.ReadLine();		}	}}				

Problembehandlung:

Es gibt einige Dinge zu beachten Sie bei der Arbeit mit Datei-i/o, einschließlich der folgenden Elemente:
  • Jedes Mal, wenn Sie Zugriff auf eine Datei besteht die Möglichkeit, dass die Datei, die Sie lesen oder schreiben möchten möglicherweise nicht auf dem System oder verwendet werden kann.
  • In diesem Beispiel liest die gesamte Datei in den Speicher, bevor die Datei verarbeitet. Treten möglicherweise eine Situation, in der die Datei im Speicher gehalten werden zu groß ist, oder Sie haben keine Berechtigungen für den Dateizugriff.
Diesen Situationen wird eine Ausnahme ausgelöst werden soll. Es ist immer empfohlen, einen try/Catch -Block zu nutzen, um häufige Probleme zu behandeln.
Try-catch

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 306777 – Letzte Überarbeitung: 07/03/2015 18:52:00 – Revision: 5.0

Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2008 Express Edition

  • kbcollections kbhowtomaster kbio kbmt KB306777 KbMtde
Feedback
/html>t" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("