Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
1 von 1 fanden dies hilfreich - Dieses Thema bewerten.

Gewusst wie: Lesen aus durch Kommas getrennten Textdateien in Visual Basic

Mit dem TextFieldParser-Objekt können strukturierte Textdateien, z. B. Protokolle, leicht und effizient analysiert werden. Die TextFieldType-Eigenschaft definiert, ob es sich um eine Datei mit Trennzeichen oder um eine Datei mit Textfeldern fester Breite handelt.

So analysieren Sie eine durch Kommas getrennte Textdatei

  1. Erstellen Sie einen neuen TextFieldParser. Im folgenden Code wird ein TextFieldParser mit dem Namen MyReader erstellt und die Datei test.txt geöffnet.

    
    Using MyReader As New Microsoft.VisualBasic.
                          FileIO.TextFieldParser(
                            "C:\TestFolder\test.txt")
    
    
    
  2. Definieren Sie den TextField-Typ und das Trennzeichen. Im folgenden Code wird die TextFieldType-Eigenschaft als Delimited festgelegt und das Trennzeichen "," definiert.

    
    MyReader.TextFieldType = FileIO.FieldType.Delimited
    MyReader.SetDelimiters(",")
    
    
    
  3. Die Felder in der Datei werden durchlaufen. Falls eine beschädigte Zeile gefunden wird, wird ein Fehler gemeldet und die Analyse fortgesetzt. Im folgenden Code wird die Datei durchlaufen, jedes Feld angezeigt und alle Felder ausgegeben, die nicht korrekt 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
    
    
    
  4. Der While-Block und der Using-Block werden mit End While und End Using geschlossen.

    
       End While
    End Using
    
    
    

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


Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Eine Zeile kann nicht mit dem angegebenen Format analysiert werden (MalformedLineException). In der Ausnahmemeldung wird die Nummer der Zeile angegeben, die die Ausnahme verursacht hat. Der in der Zeile enthaltene Text wird der ErrorLine-Eigenschaft zugewiesen.

  • Die angegebene Datei ist nicht vorhanden (FileNotFoundException).

  • Es besteht 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).

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ