Textdatei Zeile hinzufügen/löschen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von mieper.

    Textdatei Zeile hinzufügen/löschen

    Hallo,

    Ich hab schon ne lange Zeit mit Textdateien nicht mehr gearbeitet und weiß nicht mehr wie ich neuen Text in eine Textdatei bekomm also einfach einen neue Zeile hinzufügen es soll nichts überschrieben werden. Und wie kann ich eine bestimmte Zeile löschen?
    Ich würde System.IO.File Befehle bevorzugen wenn es geht ^^

    Danke im vorraus :D
    Kann man einfach lösen (Es könnte aber sein, dass es dafür eine Funktion gibt)

    VB.NET-Quellcode

    1. Dim Old As String = My.Compuer.Filesystem.ReadAlltext("PFAD ZUR DATEI")
    2. My.Computer.Filesystem.DeleteFile("PFAD ZUR DATEI")
    3. My.Computer.Filesystem.WirteAllText("PFAD", Old & "DEIN NEUER TEXT")



    So, das ganze mal sehr umständlich gelöst, es gibt wohl bessere Methoden




    Mfg.
    SAR
    Hi,
    Eine Funktion gibt es nicht aber Diverse Möglichkeiten.
    z.B.:

    VB.NET-Quellcode

    1. Public Sub DeleteLine(Byval Count As Integer, Byval Pfad As String)
    2. Dim Lines As new List(Of String)
    3. Lines.Addrange(Io.File.ReadallLines(Pfad))
    4. Lines.Remove(Lines.Item(Count))
    5. Dim Output As String = String.Join(vbnewline, Lines.ToArray)
    6. Io.File.WriteallText(Output, Pfad)
    7. End Sub

    Nicht getestet sollte aber klappen.
    Mit den selben Prinzip kannst du auch eine Hinzufügen.
    Mfg
    Loadsoft

    St0on schrieb:

    Hallo,
    ...
    Ich würde System.IO.File Befehle bevorzugen wenn es geht ^^
    Danke im vorraus :D


    Mit der Klasse IO.File kannst Du Texte nur am Ende anhängen (AppendText bzw. AppendAllText).
    Falls Du den neuen Text irgendwo in der Mitte einfügen bzw. vorhandenen Text entfernen willst, muss Du die Datei zuerst komplett auslesen (z.B. zeilenweise in eine List(Of String), ReadAllLines), dann den neuen Text hinzufügen bzw. vorhandenen Text entfernen, und wieder zurückschreiben (also alte Datei überschreiben).