Freigeben über


Analysieren von Textdateien mit dem TextFieldParser-Objekt (Visual Basic)

Mit dem TextFieldParser-Objekt können Sie sehr große Dateien analysieren und verarbeiten, die Textspalten mit Trennzeichen enthalten, z. B. Protokolldateien oder ältere Datenbankinformationen. Die Analyse einer Textdatei mit TextFieldParser ähnelt dem Durchlaufen einer Textdatei, während die Verarbeitungsmethode für die Extrahierung von Textfeldern mit Methoden zum Bearbeiten von Zeichenfolgen vergleichbar ist.

Analysieren von verschiedenen Typen von Textdateien

Textdateien können Felder verschiedener Breite enthalten, die mit Trennzeichen wie Kommas oder Tabstoppzeichen getrennt sind. Definieren Sie TextFieldType und das Trennzeichen, wie nachfolgend gezeigt. Im Beispiel wird die SetDelimiters-Methode zum Definieren einer tabstoppgetrennten Textdatei verwendet:

testReader.SetDelimiters(vbTab)

Textdateien können auch Felder mit fester Breite enthalten. In solchen Fällen müssen Sie den TextFieldType als FixedWidth definieren und die Breite jedes einzelnen Feldes angeben, wie nachfolgend gezeigt. Im Beispiel wird die SetFieldWidths-Methode zum Definieren der Textspalten verwendet: die erste Spalte ist 5 Zeichen breit, die zweite 10, die dritte 11 und die vierte Spalte weist eine variable Breite auf.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Nach der Definition des Formats können Sie die Datei durchlaufen und mit der ReadFields-Methode jede Zeile einzeln verarbeiten.

Wenn ein Feld nicht dem angegebenen Format entspricht, wird eine MalformedLineException-Ausnahme ausgelöst. Beim Auslösen solcher Ausnahmen enthalten die ErrorLine-Eigenschaft und die ErrorLineNumber-Eigenschaft den Text, der die Ausnahme verursacht hat, und die Zeilennummer dieses Textes.

Analysieren von Dateien mit mehreren Formaten

Mithilfe der PeekChars-Methode des TextFieldParser-Objekts kann jedes Feld vor dem Lesen überprüft werden. So können mehrere Formate für die Felder definiert und entsprechende Aktionen veranlasst werden. Weitere Informationen finden Sie unter Gewusst wie: Lesen aus Textdateien mit mehreren Formaten in Visual Basic.

Siehe auch

Aufgaben

Problembehandlung bei Ausnahmen: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Referenz

OpenTextFieldParser

TextFieldParser

PeekChars

ReadFields

CommentTokens

Delimiters

ErrorLine

ErrorLineNumber

FieldWidths

HasFieldsEnclosedInQuotes

LineNumber

TextFieldType

TrimWhiteSpace

SetDelimiters

SetFieldWidths