Mit folgendem Code überwache ich ein Verzeichnis, ob eine Datei erstellt wird. Die Erstellungszeit wird sich gemerkt und die Datei wird nach einer Minute wieder gelöscht:
diese funktion müsste ich jetzt für mehrere Dateien in dem Verzeichnis realisieren. Ich dachte an die verwendung von Arrays zum Speichern der Dateipfade und zum speichern der Erstellungszeiten.
Wie genau kann ich das realisieren? ich bräuchte auch eine funktion, die das array nach freien stellen überprüft und die neue datei dann an der freien stelle speichert und nicht einfach hinten dranhängt
Code:
public void TimeDelete() { DataSet foo = new DataSet(); foo.ReadXml("rxsmond.config.xml"); foreach(DataRow dr in foo.Tables["TimePath"].Rows) { path = dr["Location"].ToString(); } FileSystemWatcher fsw = new FileSystemWatcher(path); fsw.Created += new FileSystemEventHandler(CreateFile); while (true) { fsw.WaitForChanged(WatcherChangeTypes.All); } // Eventauslösung deaktivieren fsw.EnableRaisingEvents = false; } private void CreateFile(object sender, FileSystemEventArgs e) { int Abbruch = 1; TimeSpan Zeit = new TimeSpan(0, 1, 0); FileInfo info = new FileInfo(e.FullPath); while (Abbruch != 0) { if (DateTime.Now - info.CreationTime > Zeit) { File.Delete(e.FullPath.ToString()); Abbruch = 0; } } }
diese funktion müsste ich jetzt für mehrere Dateien in dem Verzeichnis realisieren. Ich dachte an die verwendung von Arrays zum Speichern der Dateipfade und zum speichern der Erstellungszeiten.
Wie genau kann ich das realisieren? ich bräuchte auch eine funktion, die das array nach freien stellen überprüft und die neue datei dann an der freien stelle speichert und nicht einfach hinten dranhängt
Comment