Entwickler-Ecke

Sonstiges (.NET) - Datei Veränderungen überwachen


ebber - Mo 06.10.08 14:00
Titel: Datei Veränderungen überwachen
Hallo,

ich habe ein Textdokument, eine Logdatei eines anderen Programms. Ich möchte mit meinem Programm die Daten aus der Datei verarbeiten. Also immer wenn die Log Datei erweitert wird sollte mein Programm mitbekommen was drin steht. Ich könnte jetzt alle 5 min gucken ob noch das gleiche in der Datei steht, es sollte aber ziemlich schnell gehen, am besten < 1sek. Kann man sich da irgendein Event reinbauen oder sowas?

MfG


JüTho - Mo 06.10.08 14:36

Dafür ist die FileSystemWatcher-Klasse vorgesehen. Jürgen


ebber - Mo 06.10.08 15:17

Danke, wusste nicht dass es sowas schon fertig gibt. Eben Microsoft.

Code Schnipsel, wenns jemand braucht:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            System.IO.FileSystemWatcher fsw = new System.IO.FileSystemWatcher("C:\\");
            fsw.Filter = "protocol.txt";    // "" für alles oder wildcards
            fsw.Changed += new System.IO.FileSystemEventHandler(fsw_Changed);
            fsw.EnableRaisingEvents = true;
        }

        void fsw_Changed(object sender, System.IO.FileSystemEventArgs e)
        {
            Console.WriteLine(e.Name + e.FullPath + e.ChangeType);
        }


MfG