Спасибо за любую помощь в этом ..
Я пытаюсь написать небольшое приложение FileWatcher, которое отслеживает локальный каталог и копирует любые изменения в другой локальный каталог. Я использовал класс FileSystemWatcher в .Net, и на моем щелчке btnStart я запускаю четыре потока, каждый из которых имеет собственный экземпляр FileSysWatcher, отслеживая различные типы изменений. Поэтому первое, что я хочу найти, - это созданное событие.
new Thread(Created).Start();
тогда у меня есть:
void Created()
{
FileSystemWatcher Watcher2 = new FileSystemWatcher();
Watcher2.Path = txtBxDirToWatch.Text;
Watcher2.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.DirectoryName;
//watch all files in the path
Watcher2.Filter = "*.*";
//dont watch sub dir as default
Watcher2.IncludeSubdirectories = false;
if (chkBxIncSub.Checked)
{
Watcher2.IncludeSubdirectories = true;
}
Watcher2.Created += new FileSystemEventHandler(OnCreated);
Watcher2.EnableRaisingEvents = true;
}
все, что я хочу, это скопировать любые изменения в жестко заданный локальный путь, но я не могу получить никаких результатов. вот где я обработал событие
public static void OnCreated(object source, FileSystemEventArgs e)
{
//combine new path into a string
string created = Path.Combine(@"C:\WatcherChanges", e.Name);
File.Create(created);
}