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 dem TextFieldParser
Objekt können Sie sehr große Dateien analysieren und verarbeiten, die als Spalten mit getrennter Breite strukturiert sind, z. B. Protokolldateien oder Legacydatenbankinformationen. Das Analysieren einer Textdatei mit TextFieldParser
ähnelt dem Iterieren über eine Textdatei, während die Analysemethode zum Extrahieren von Textfeldern vergleichbar ist mit den Methoden zur Zeichenfolgenmanipulation, die zum Tokenisieren von durch Begrenzungszeichen getrennten Zeichenfolgen verwendet werden.
Analysieren verschiedener Arten von Textdateien
Textdateien können Felder verschiedener Breite besitzen, die durch ein Zeichen wie ein Komma oder ein Tabstoppzeichen getrennt wurden. Definieren Sie TextFieldType
und das Trennzeichen wie im folgenden Beispiel, das die SetDelimiters
-Methode verwendet, um eine durch Tabstoppzeichen getrennte Textdatei zu definieren:
testReader.SetDelimiters(vbTab)
Andere Textdateien können über Feldbreiten verfügen, die festgelegt sind. In solchen Fällen müssen Sie das TextFieldType
als FixedWidth
definieren und die Breite der einzelnen Felder festlegen, wie im folgenden Beispiel. In diesem Beispiel wird die SetFieldWidths
Methode verwendet, um die Textspalten zu definieren: Die erste Spalte ist 5 Zeichen breit, die zweite ist 10, der dritte ist 11, und der vierte ist von variabler Breite.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Nachdem das Format definiert wurde, können Sie die Datei mithilfe der ReadFields
Methode durchlaufen, um jede Zeile wiederum zu verarbeiten.
Wenn ein Feld nicht mit dem angegebenen Format übereinstimmt, wird eine MalformedLineException Ausnahme ausgelöst. Wenn solche Ausnahmen ausgelöst werden, enthalten die Eigenschaften ErrorLine
und ErrorLineNumber
den Text, der die Ausnahme verursacht, und die Zeilennummer dieses Textes.
Analysieren von Dateien mit mehreren Formaten
Die PeekChars
Methode des TextFieldParser
Objekts kann verwendet werden, um jedes Feld vor dem Lesen zu überprüfen, sodass Sie mehrere Formate für die Felder definieren und entsprechend reagieren können. Weitere Informationen finden Sie unter So geht's: Lesen aus Textdateien mit mehreren Formaten.