c# txt schreiben

xlon

Mitglied
Guten Morgen,
ich würde gerne eine Art logdatei in meinem Programm einbauen. Das Programm soll einfach ab und zu was in die datei schreiben. Das Funktioniert ja auch soweit, leider überschreibt er dann immer was er voher drinne hatte, UND ich kann diese datei nicht während des laufens angucken, weil sie dann leer ist. Könnt ihr mir vllt sagen was ich falsch gemacht habe?

ich habe es folgender maßen gemacht:

Code:
public partial class Form1 : Form
    {
StreamWriter sw = new StreamWriter(@"C:\logdatei.txt");

   private void Form1_Load(object sender, EventArgs e)
    {
        sw.WriteLine("ich wurde geladen");
        sw.Close();
    }

void Close(object sender, EventArgs e)
        {
            
        sw.WriteLine("ich wurde gschlossen");
        sw.Close();

        }
}

so aber nun steht leider nicht beides drin...und auch erst dann wenn ich das Programm geschlossen habe...
 
Hi,

probiers mal indem du hier:

Code:
StreamWriter sw = new StreamWriter(@"C:\logdatei.txt");

noch einen weiteren Parameter mit dem Wert "true" übergibst. Dann wird der Text immer ans Ende der Datei angehangen

lg
 
Hey,
danke für deine schnelle Antwort.

Wie meinst du es einen Wert "true" übergeben?
Wie mache ich das?
 
Code:
StreamWriter sw = new StreamWriter(@"C:\logdatei.txt");

In dieser Zeile übergibst du den Dateipfad/Name an den Construktor.
Code:
"C:\logdatei.txt"
ist in diesem Fall dein erster Parameter.

Einen weiteren Parameter kannste einfach durch Komma getrennt hinzufügen so wie ichs unten gemacht habe.
Code:
StreamWriter sw = new StreamWriter(@"C:\logdatei.txt", true);

Philipp
 
Geht es mehr um Debug/Trace ausgaben?
Wenn ja, .Net bietet von Haus aus Methoden diese auch direkt in eine Datei zu schreiben.
 
danke, das funktioniert jetzt soweit das ich in die datei schreiben kann...

aber leider wird es erst nachdem schließen gespeichert...

wie kann ich dies ändern?
 
Code:
FileStream fs = new FileStream(@"C:\logdatei.txt", FileMode.Append);

                        StreamWriter sw = new StreamWriter(fs);

                        sw.WriteLine("text");

                        sw.Close();

so habe ich das jetzt gemacht...ist zwar ein bisschen umständlich da ich überall das:

Code:
FileStream fs = new FileStream(@"C:\logdatei.txt", FileMode.Append);

                        StreamWriter sw = new StreamWriter(fs);

machen muss...aber dafür geht es jetzt :)

danke euch allen!
 

Neue Beiträge

Zurück