Textdaten auslesen (5 ersten Zeilen)

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von xtts02.

    Textdaten auslesen (5 ersten Zeilen)

    Hey,

    Ich möchte eine Textdaten auslesen was ich auch ohne Probleme schaffe...
    Allerdings möchte ich von dieser Datei nur die ersten 5 Zeilen!
    Wie kann ich mir nur die ersten 5 Zeilen der Datei anzeigen lassen ohne
    sie zu löschen da ich die Datei auch noch in komplett brauche

    Viele Grüße
    Wie liest du die Datei ein ?
    Du könntest uns auch dein Text geben, oder ist der immer verschieden ?

    Hab es selber gleich probiert:

    VB.NET-Quellcode

    1. Private Sub Vorgang()
    2. Dim Pfad As String = "C:\" 'Dein Pfad zur Textdatei
    3. Dim AnzahlZeile As Integer = 0 'Gefundene Zeilen auf 0 setzen
    4. For Each Eintrag As Char In System.IO.File.ReadAllText(Pfad) 'Für jeden Buchstaben in der TextDatei
    5. If Eintrag = vbLf Then 'Wenn der Buchstabe ein Zeilenumbruch ist
    6. AnzahlZeile += 1 'Erste Zeile wurde gefunden, also AnzahlZeile + 1
    7. If AnzahlZeile = 5 Then 'Wenn es die 5 Zeile ist, die gefunden worden ist
    8. Exit Sub 'Vorgang beenden
    9. End If
    10. Else 'Wenn der Buchstabe kein Zeilenumbruch ist (else = sonst)
    11. End If
    12. TextBox1.Text += Eintrag '(Buchstabe der TextBox hinzufügen)
    13. Next
    14. End Sub


    Funktioniert bei mir.

    Edit: Funktioniert immernoch mit Option Strict On....

    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Dancger“ () aus folgendem Grund: Beschreibung hinzugefügt

    Mit der Stream Reader Klasse geht das ganz einfach.

    Du ließt einfach in einer Schleife (1 To 5) mit der .ReadLine() Methode das Textdokument aus.

    So könntest du das dann z.B. realisieren:

    VB.NET-Quellcode

    1. 'Pfad Festlegen
    2. Dim pfad As String = "C:\TestDokument.txt"
    3. 'String Array für die 5 Zeilen
    4. Dim zeilen(4) As String
    5. 'Stream Reader Objekt instanzieren und Pfad übergeben
    6. Dim sReader As New IO.StreamReader(pfad)
    7. 'Schleife zum lesen der ersten 5 Zeilen
    8. For i As Integer = 0 To 4
    9. 'An richtiger Stelle des Arrays die Zeile reinschreiben
    10. zeilen(i) = sReader.ReadLine()
    11. Next i
    12. 'Datei wieder freigeben und den Reader schließen
    13. sReader.Close()
    14. 'Speicher wieder freigeben
    15. sReader.Dispose()


    LG


    EDIT: Das war wohl jemand schneller. Wenigstens ist meine Version nicht einfach so kommentarlos dahingeklatsch. (Mehr Lernerfolg...)

    EDIT2: Mir fällt gerade ein: Du könntest gleich alle Zeile in ein Array einlesen und dann einfach alle bis auf die ersten 5 in den Müll schmeißen.
    Oder wie ich in meinem EDIT erwähnte: (Ist noch kürzer und einfach -> Ich bin Minimalist :P)

    VB.NET-Quellcode

    1. 'String Array deklarieren und Zeilen einlesen
    2. Dim zeilen() As String = IO.File.ReadAllLines("C:\TestDokument.txt")
    3. 'Array neu deklarieren und nur die ersten 5 Einträge behalten
    4. ReDim Preserve zeilen(4)


    LG
    Das solltest du jetzt aber selbst hinbekommen.

    - Lese alle in ein Array ein
    - Nimm die letzen 5 Einträge aus dem Array und lösche den Rest

    LG