0
У меня есть FileSystemWatcher
, когда я делаю файл в первом каталоге, он должен идти и на второй. Поэтому я хочу, чтобы файл был перезаписан, когда он уже существует во втором каталоге. Это не сработает. Я получил это:Почему мой FileSystemWatcher не работает?
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
if (File.Exists(target+e.Name))
{
File.Delete(target+e.Name);
}
File.Copy(e.FullPath, Path.Combine(target, e.Name));
}
и я получил еще одну проблему: Это показывает, когда создается файл, но не тогда, когда он переименован, удален, изменен. Вот мой код .:
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
if (!pause)
{
listBox1.Items.Add("File changed> " + e.FullPath + " -Date:" + DateTime.Now);
}
}
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
if (File.Exists(target+e.Name))
{
File.Delete(target+e.Name);
}
File.Copy(e.FullPath, Path.Combine(target, e.Name));
}
private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
if (!pause)
{
listBox1.Items.Add("File deleted> " + e.FullPath + " -Date:" + DateTime.Now);
File.Delete(target+e.Name);
}
}
private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
{
if (!pause)
{
listBox1.Items.Add("File renamed> " + e.FullPath + " -Date:" + DateTime.Now);
}
}
private void Start_Click(object sender, EventArgs e)
{
fileSystemWatcher1.Path = source;
if (!pause)
{
pause = true;
Start.Text = "Pause";
fileSystemWatcher1.EnableRaisingEvents = true;
}
else
{
pause = false;
Start.Text = "Start";
fileSystemWatcher1.EnableRaisingEvents = false;
}
}
Кажется, что пауза верна ... Не могли бы вы показать нам код, в котором вы объявляете FileSystemWatcher? –
@ Джон Смит: Можете ли вы вставить код, в котором вы инициализируете 'FileSystemWatcher?' –
@DominicZukiewicz получил его. Посмотрите мое редактирование –