我们知道在.NET中(C#是特定的),我们可以使用FileSystemWatcher
来检测任何类型的修改。
public void MessageFileWatcher(string Path, string FileName)
{
FileSystemWatcher Watcher = new FileSystemWatcher();
Watcher.Path = Path;
Watcher.Filter = FileName;
Watcher.NotifyFilter = NotifyFilters.LastWrite;
Watcher.Changed += new FileSystemEventHandler(OnChanged);
Watcher.EnableRaisingEvents = true;
}
但是我希望对文件进行监视,并且在一段时间后还要删除该文件。
准确地说。 can FileSystemWatcher
类总是寻找修改...如果我想删除该特定文件,它是否会引发异常?
答案 0 :(得分:2)
它不会引发异常。
FileSystemWatcher
不会监视文件:它会监视文件系统。在这种情况下,您会发现删除文件时至少会出现Deleted事件。
答案 1 :(得分:0)
FileSystemWatcher
使用可选过滤器而不是单个文件来查看路径。当然,如果您将过滤器设置为文件的名称,则观察者将只观看一个文件,但这更像是其预期用途的副作用。
也就是说,显然是,您可以删除正在观看的文件。但是,删除不应引发Changed
事件。要监控删除,您需要使用Deleted
事件。