Sdílet prostřednictvím


Lesen aus einer Textdatei

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie in Visual Basic mit dem My.Computer.FileSystem-Objekt aus einer Textdatei lesen können.

In der vorherigen Lektion Schreiben in eine Textdatei wurde beschrieben, wie Sie der Bildanzeigeanwendung eine Funktion hinzufügen, mit der Sie die Namen Ihrer Lieblingsbilder in einer Textdatei speichern können. Im nächsten Schritt werden Sie aus der Textdatei lesen. Dadurch können Sie ausschließlich Ihre Lieblingsbilder anzeigen.

Grundlagen zu Dateien

Bevor Sie aus einer Textdatei lesen, sollten Sie mit einigen Grundlagen vertraut sein. Das My-Objekt in Visual Basic macht die Arbeit mit Dateien leicht. Sie können mit der My.Computer.FileSystem.ReadAllText-Methode des My.Computer.FileSystem-Objekt aus Dateien auf einem Computer lesen.

Textdateien mit Zeichenfolgen, die durch Trennzeichen getrennt sind, werden als durch Trennzeichen getrennte Textdateien bezeichnet. Jedes Element in der Textdatei wird als Feld bezeichnet. Wenn Sie den Inhalt einer durch Trennzeichen getrennten Textdatei lesen möchten, können Sie die My.Computer.FileSystem.OpenTextFieldParser-Methode verwenden.

In diesem Verfahren überprüfen Sie, ob die Textdatei für die Lieblingsbilder im Ordner Dokumente vorhanden ist, bevor Sie die Datei laden. Wenn die Datei nicht vorhanden ist, wird den Benutzern von der Anwendung eine Meldung angezeigt.

Bb384499.alert_note(de-de,VS.90).gifHinweis:

Unter Windows XP gibt es besondere Ordner mit den Bezeichnungen Eigene Dateien, Eigene Bilder und Eigene Musik. Unter Windows Vista entfällt das Wort "Eigene" in den Bezeichnungen. Sie heißen stattdessen Dateien, Bilder und Musik. Der Code in dieser Lektion wird jedoch sowohl unter Windows XP als auch unter Windows Vista ausgeführt.

Übung

So lesen Sie aus einer Textdatei mit Trennzeichen

  1. Öffnen Sie das Bildanzeige-Projekt aus der vorherigen Lektion. Wenn Sie die Lektion noch nicht abgeschlossen haben, kehren Sie zu Schreiben in eine Textdatei zurück und beenden die Lektion, bevor Sie fortfahren.

  2. Klicken Sie im Projektmappen-Explorer auf Form1.vb, und klicken Sie dann im Menü Ansicht auf Designer.

  3. Fügen Sie dem Formular neben der Schaltfläche Zu Favoriten hinzufügen ein Button-Steuerelement hinzu.

  4. Ändern Sie die folgenden Eigenschaften dieser Schaltfläche:

    Eigenschaft

    Wert

    Name

    LoadFavorites

    Text

    Favoriten laden

    Größe

    85, 23

  5. Doppelklicken Sie auf das neue Button-Steuerelement, um den Standardereignishandler im Code-Editor hinzuzufügen.

  6. Fügen Sie im LoadFavorites_Click-Ereignishandler den folgenden Code zum Löschen der Inhalte des Listenfelds und des Bildfelds hinzu. Wenn Sie das Listenfeld nicht zuerst löschen, werden der Liste bei jedem Klick auf die Schaltfläche Favoriten laden der Dateipfad und der Dateiname angefügt.

    ' Clear the picture box and the list box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
  7. Fügen Sie die folgende If-Anweisung hinzu, um zu überprüfen, ob die Textdatei FavoritePictures vorhanden ist. Informieren Sie den Benutzer, wenn die Datei nicht vorhanden ist.

    Dim FavoritePictures As String = _
     My.Computer.FileSystem.SpecialDirectories.MyDocuments _
     & "\FavoritePictures.txt"
    If My.Computer.FileSystem.FileExists(FavoritePictures) Then
    
        ' Add code to read text from a file.
    
    Else
        MsgBox("There is no favorites file yet. Click Load" _
          & " Pictures," & vbCrLf & "select a picture, and" _
          & " then click Add to Favorites.", MsgBoxStyle.OkOnly, _
          "Picture Viewer")
    End If
    
  8. Ersetzen Sie den Kommentar zwischen der If-Anweisung und der Else-Anweisung durch den folgenden Code. In diesem Code wird der Inhalt der Datei FavoritePictures.txt mit der OpenTextFieldParser-Methode gelesen. Anschließend wird angegeben, dass das Texttrennzeichen ein Komma ist.

    ' Open the FavoritePictures text file by using
    ' OpenTextFieldParser.
    Dim MyReader As Microsoft.VisualBasic.FileIO.TextFieldParser
    MyReader = My.Computer.FileSystem.OpenTextFieldParser( _
        FavoritePictures)
    MyReader.SetDelimiters(",")
    
  9. Fügen Sie unter dem Code, den Sie im vorherigen Schritt hinzugefügt haben, den folgenden Code ein. Der Code durchläuft die Felder in der Textdatei und überprüft dann für jede Datei, ob sie vorhanden ist, bevor sie dem ListBox-Steuerelement hinzugefügt wird. Anschließend wird der TextFieldParser geschlossen.

    ' Using a comma (,) as a delimeter, parse each field in 
    ' the text file and add it to the list box.
    Dim textFields As String() = MyReader.ReadFields()
    For Each currentField As String In textFields
       If My.Computer.FileSystem.FileExists(currentField) Then
            Me.ListBox1.Items.Add(currentField)
       End If
    Next
    
    ' Close the TextFieldParser.
    MyReader.Close()
    
  10. Drücken Sie F5, um den Code auszuführen.

  11. Klicken Sie auf die Schaltfläche Favoriten laden, um die in der Datei FavoritePictures.txt aufgelisteten Dateien zu laden.

  12. Klicken Sie im Listenfeld auf ein Element, um das Bild in der Bildanzeige anzuzeigen.

Nächste Schritte

In dieser Lektion haben Sie erfahren, wie Sie eine durch Trennzeichen getrennte Textdatei lesen und die in der Datei enthaltenen Elemente einer Liste hinzufügen. In der nächsten Lektion erfahren Sie, wie Sie die Textdatei für die Lieblingsbilder aus dem Ordner Dokumente löschen.

Nächste Lektion: Löschen einer Textdatei

Siehe auch

Aufgaben

Abrufen der Namen von Dateien in einem Ordner

Schreiben in eine Textdatei

Weitere Ressourcen

Verwenden des Dateisystems: Schreiben in und Lesen aus Dateien

Visual Basic-Einführung