Gewusst wie: Lesen aus durch Kommas getrennten Textdateien in Visual BasicHow to: read from comma-delimited text files in Visual Basic

Das TextFieldParser-Objekt bietet eine Möglichkeit, strukturierte Textdateien wie Protokolle einfach und effizient zu analysieren.The TextFieldParser object provides a way to easily and efficiently parse structured text files, such as logs. Die TextFieldType-Eigenschaft definiert, ob es sich um eine Datei mit Trennzeichen oder mit Textfeldern fester Breite handelt.The TextFieldType property defines whether it is a delimited file or one with fixed-width fields of text.

Analysieren einer durch Trennzeichen getrennten TextdateiTo parse a comma delimited text file

  1. Erstellen Sie einen neuen TextFieldParser.Create a new TextFieldParser. Der folgende Code erstellt den TextFieldParser namens MyReader und öffnet die Datei test.txt.The following code creates the TextFieldParser named MyReader and opens the file test.txt.

    Using MyReader As New Microsoft.VisualBasic.
                          FileIO.TextFieldParser(
                            "C:\TestFolder\test.txt")
    
  2. Definieren Sie den TextField-Typ und das Trennzeichen.Define the TextField type and delimiter. Der folgende Code definiert die TextFieldType-Eigenschaft als Delimited und das Trennzeichen als „,“.The following code defines the TextFieldType property as Delimited and the delimiter as ",".

    MyReader.TextFieldType = FileIO.FieldType.Delimited
    MyReader.SetDelimiters(",")
    
  3. Durchlaufen Sie die Felder in der Datei.Loop through the fields in the file. Wenn Zeilen fehlerhaft sind, einen Fehler melden und die Analyse fortsetzen.If any lines are corrupt, report an error and continue parsing. Der folgende Code durchläuft die Datei, zeigt der Reihe nach jedes Feld an und meldet alle Felder, die nicht korrekt formatiert sind.The following code loops through the file, displaying each field in turn and reporting any fields that are formatted incorrectly.

    
    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
    
  4. Schließen Sie die Blöcke While und Using mit End While und End Using.Close the While and Using blocks with End While and End Using.

       End While
    End Using
    

BeispielExample

In diesem Beispiel wird aus der Datei test.txt gelesen.This example reads from the file test.txt.

  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 ProgrammierungRobust programming

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:The following conditions may cause an exception:

Siehe auchSee also

Microsoft.VisualBasic.FileIO.TextFieldParser
Gewusst wie: Lesen aus einer Textdatei mit fester BreiteHow to: Read From Fixed-width Text Files
Gewusst wie: Lesen aus Textdateien mit mehreren FormatenHow to: Read From Text Files with Multiple Formats
Analysieren von Textdateien mit dem TextFieldParser-ObjektParsing Text Files with the TextFieldParser Object
Exemplarische Vorgehensweise: Bearbeiten von Dateien und Verzeichnissen in Visual BasicWalkthrough: Manipulating Files and Directories in Visual Basic
Problembehandlung: Lesen aus und Schreiben in TextdateienTroubleshooting: Reading from and Writing to Text Files