我最近写了一个winform来记录文件夹中文件数量的变化,并在两个文件夹中的文件数不相同时显示一条消息。 所以我希望通过以这样的方式添加代码来改进我的程序。当文件名和内容发生变化时,我是否应该通知任何方式。
这意味着两个文件夹中的文件相同的总数。但是,如果我将文件名更改为其他文件名,或者文件名中的内容已被删除或添加。在这种情况下我能做什么。
任何想法。
注意我不希望任何内容上传到软件,软件应该自动执行所有操作...
非常感谢...
答案 0 :(得分:1)
当文件夹中存在文件时,您可以使用FileSystemWatcher接收事件。
...
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = // your path to be watched
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Only watch text files for example
watcher.Filter = "*.txt";
// Add event handlers.
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
...
// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}
private static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}