Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit ReadAllText der Methode des My.Computer.FileSystem Objekts können Sie aus einer Textdatei lesen. Die Dateicodierung kann angegeben werden, wenn der Inhalt der Datei eine Codierung wie ASCII oder UTF-8 verwendet.
Wenn Sie aus einer Datei mit erweiterten Zeichen lesen, müssen Sie die Dateicodierung angeben.
Hinweis
Verwenden Sie die OpenTextFileReader Methode des My.Computer.FileSystem Objekts, um eine Datei jeweils eine einzelne Textzeile zu lesen. Die OpenTextFileReader -Methode gibt ein StreamReader -Objekt zurück. Sie können die ReadLine Methode des StreamReader Objekts verwenden, um eine Datei einzeln zu lesen. Sie können mithilfe der Methode EndOfStream des StreamReader Objekts das Ende der Datei überprüfen.
So lesen Sie aus einer Textdatei
Verwenden Sie die ReadAllText Methode des My.Computer.FileSystem Objekts, um den Inhalt einer Textdatei in eine Zeichenfolge zu lesen, und geben Sie den Pfad an. Im folgenden Beispiel wird der Inhalt von test.txt in eine Zeichenfolge gelesen und dann in einem Meldungsfeld angezeigt.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt")
MsgBox(fileReader)
So lesen Sie aus einer Textdatei, die codiert ist
Verwenden Sie die ReadAllText Methode des My.Computer.FileSystem Objekts, um den Inhalt einer Textdatei in eine Zeichenfolge zu lesen, und geben Sie den Pfad- und Dateicodierungstyp an. Im folgenden Beispiel wird der Inhalt der UTF32-Datei test.txt in eine Zeichenfolge gelesen und dann in einem Meldungsfeld angezeigt.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
Um aus einer Textdatei in ein RichTextBox-Steuerelement zu lesen
Wenn Sie den Inhalt einer Textdatei direkt in ein RichTextBox-Steuerelement laden möchten, lesen Sie den Dateiinhalt in eine Zeichenfolge, und weisen Sie sie der Text Eigenschaft von RichTextBox zu. Das folgende Beispiel zeigt, wie Eine Textdatei gelesen und in ein RichTextBox-Steuerelement geladen wird.
' Load text file into a RichTextBox control
' Note: This assumes RichTextBox1 is a control on your form
Dim fileText As String
fileText = My.Computer.FileSystem.ReadAllText("test.txt")
' RichTextBox1.Text = fileText
Für eine bessere Fehlerbehandlung und Dateipfadverwaltung können Sie den folgenden Ansatz verwenden, der einen richtigen Dateipfad erstellt und potenzielle Ausnahmen behandelt. Bei diesem Ansatz werden festplattencodierte Laufwerkpfade vermieden, die Probleme auf verschiedenen Systemen verursachen können:
' Load text file into a RichTextBox control using a specific path
Try
Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
' RichTextBox1.Text = fileText
Catch ex As System.IO.FileNotFoundException
MsgBox("File not found: " & ex.Message)
Catch ex As Exception
MsgBox("Error reading file: " & ex.Message)
End Try
Hinweis
Vermeiden Sie beim Angeben von Dateipfaden die Verwendung hartcodierter absoluter Pfade wie "C:\temp\file.txt", da diese Probleme auf Systemen verursachen können, bei denen der Laufwerkbuchstaben oder die Verzeichnisstruktur unterschiedlich ist. Verwenden Sie stattdessen relative Pfade oder erstellen Sie Pfade mithilfe von Combine, um sicherzustellen, dass Ihr Code in verschiedenen Umgebungen funktioniert.
Robuste Programmierung
Die folgenden Bedingungen können zu einer Ausnahme führen:
Der Pfad ist aus einem der folgenden Gründe ungültig: Es handelt sich um eine leere Zeichenfolge, es enthält nur Leerzeichen, es enthält ungültige Zeichen, oder es handelt sich um einen Gerätepfad (ArgumentException).
Der Pfad ist ungültig, da er
Nothing(ArgumentNullException) ist.Die Datei ist nicht vorhanden (FileNotFoundException).
Die Datei wird von einem anderen Prozess verwendet, oder ein E/A-Fehler tritt auf (IOException).
Der Pfad überschreitet die vom System definierte maximale Länge (PathTooLongException).
Ein Datei- oder Verzeichnisname im Pfad enthält einen Doppelpunkt (:) oder ist in einem ungültigen Format (NotSupportedException).
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Zeichenfolge in Puffer zu schreiben (OutOfMemoryException).
Der Benutzer verfügt nicht über erforderliche Berechtigungen zum Anzeigen des Pfads (SecurityException).
Treffen Sie keine Entscheidungen über den Inhalt der Datei basierend auf dem Namen der Datei. Beispielsweise ist die Datei Form1.vb möglicherweise keine Visual Basic-Quelldatei.
Überprüfen Sie alle Eingaben, bevor Sie die Daten in Ihrer Anwendung verwenden. Der Inhalt der Datei ist möglicherweise nicht das, was erwartet wird, und Methoden zum Lesen aus der Datei schlagen möglicherweise fehl.
Siehe auch
- FileSystem
- ReadAllText
- Lesen aus Dateien
- Vorgehensweise: Lesen aus Comma-Delimited Textdateien
- Vorgehensweise: Lesen aus Textdateien mit fester Breite
- Vorgehensweise: Lesen aus Textdateien mit mehreren Formaten
- Problembehandlung: Lesen von und Schreiben in Textdateien
- Exemplarische Vorgehensweise: Bearbeiten von Dateien und Verzeichnissen in Visual Basic
- Dateicodierungen