none
Zeilen an eine Textdatei anfügen (VB) RRS feed

  • Frage

  • Hallo,

    ich möchte mit meinem Programm neue Zeilen an eine Textdatei anfügen.

    Mit

    Using sw As StreamWriter = File.CreateText(path)
                    sw.WriteLine("" & Kombi1 & "")
                    sw.Flush()
                End Using

    wird mein Text überschrieben.

    sw.BaseStream.Seek(0, SeekOrigin.End)

    hat auch nichts gebracht.

    Wie ist der Code richtig?

    Danke, Gruß Klaus

    Samstag, 6. August 2016 21:00

Antworten

  • Hi Klaus,
    wenn es keine Argumente dagegen gibt, dann kann man das mit einer Überladung des Konstruktors der StreamWriter-Klasse machen:

    Imports System.IO
    
    Module Module1
    
      Sub Main()
        Dim path = "c:\temp\x.txt"
        Dim kombi1 = Now.ToLongTimeString
        Using sw As StreamWriter = New StreamWriter(path, True)
          sw.WriteLine($"{kombi1}")
        End Using
        Console.ReadKey()
      End Sub
    
    End Module


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Kommas richtig setzen! Leben retten!
    Wir essen Opa.
    Wir essen, Opa.


    • Als Antwort markiert BlauesBlatt Sonntag, 7. August 2016 06:31
    • Bearbeitet Peter Fleischer Dienstag, 9. August 2016 03:43 Textkorrektur
    Sonntag, 7. August 2016 05:15

Alle Antworten

  • Hi, ich würde einfach File.AppendAllText benutzen.

    https://msdn.microsoft.com/de-de/library/system.io.file.appendalltext(v=vs.110).aspx

    (File.CreateText(path) erstellt ja immer wieder die Datei neu (überschreibt sie, wenn vorhanden))

    Viele Grüße,

      Thorsten


    Sonntag, 7. August 2016 05:15
  • Hi Klaus,
    wenn es keine Argumente dagegen gibt, dann kann man das mit einer Überladung des Konstruktors der StreamWriter-Klasse machen:

    Imports System.IO
    
    Module Module1
    
      Sub Main()
        Dim path = "c:\temp\x.txt"
        Dim kombi1 = Now.ToLongTimeString
        Using sw As StreamWriter = New StreamWriter(path, True)
          sw.WriteLine($"{kombi1}")
        End Using
        Console.ReadKey()
      End Sub
    
    End Module


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Kommas richtig setzen! Leben retten!
    Wir essen Opa.
    Wir essen, Opa.


    • Als Antwort markiert BlauesBlatt Sonntag, 7. August 2016 06:31
    • Bearbeitet Peter Fleischer Dienstag, 9. August 2016 03:43 Textkorrektur
    Sonntag, 7. August 2016 05:15
  • Danke!
    Sonntag, 7. August 2016 06:31