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.
Das TextFieldParser
Objekt bietet eine Möglichkeit, strukturierte Textdateien wie Protokolle einfach und effizient zu analysieren. Die TextFieldType
Eigenschaft definiert, ob es sich um eine durch Trennzeichen getrennte Datei oder eine mit Textfeldern mit fester Breite handelt.
So analysieren Sie eine durch Trennzeichen getrennte Textdatei
Erstellen Sie ein neues
TextFieldParser
-Element. Mit dem folgenden Code wird derTextFieldParser
mit dem NamenMyReader
erstellt und die Dateitest.txt
geöffnet.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")
Definieren Sie den
TextField
Typ und das Trennzeichen. Der folgende Code definiert dieTextFieldType
Eigenschaft alsDelimited
und das Trennzeichen als ",".MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")
Durchlaufen Sie die Felder in der Datei. Wenn Zeilen beschädigt sind, melden Sie einen Fehler, und fahren Sie mit der Analyse fort. Der folgende Code durchläuft die Datei und zeigt jedes Feld wiederum an und meldet alle Felder, die falsch formatiert sind.
Dim currentRow As String() While Not MyReader.EndOfData Try currentRow = MyReader.ReadFields() Dim currentField As String For Each currentField In currentRow MsgBox(currentField) Next Catch ex As Microsoft.VisualBasic. FileIO.MalformedLineException MsgBox("Line " & ex.Message & "is not valid and will be skipped.") End Try
Schließen Sie die
While
UndUsing
Blöcke mitEnd While
undEnd Using
.End While End Using
Beispiel
In diesem Beispiel wird aus der Datei test.txt
gelesen.
Using MyReader As New Microsoft.VisualBasic.
FileIO.TextFieldParser(
"C:\TestFolder\test.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.
FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
"is not valid and will be skipped.")
End Try
End While
End Using
Stabile Programmierung
Die folgenden Bedingungen können zu einer Ausnahme führen:
Eine Zeile kann nicht mit dem angegebenen Format (MalformedLineException) analysiert werden. Die Ausnahmemeldung gibt die Zeile an, die die Ausnahme verursacht, während der ErrorLine Eigenschaft der in der Zeile enthaltene Text zugewiesen ist.
Die angegebene Datei ist nicht vorhanden (FileNotFoundException).
Eine teilweise vertrauenswürdige Situation, in der der Benutzer nicht über ausreichende Berechtigungen für den Zugriff auf die Datei verfügt. (SecurityException).
Der Pfad ist zu lang (PathTooLongException).
Der Benutzer verfügt nicht über ausreichende Berechtigungen für den Zugriff auf die Datei (UnauthorizedAccessException).
Siehe auch
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Vorgehensweise: Lesen aus Textdateien mit fester Breite
- Vorgehensweise: Lesen aus Textdateien mit mehreren Formaten
- Analysieren von Textdateien mit dem TextFieldParser-Objekt
- Exemplarische Vorgehensweise: Bearbeiten von Dateien und Verzeichnissen in Visual Basic
- Problembehandlung: Lesen von und Schreiben in Textdateien