如何记录文件夹中文件名和文件内容的更改

本文关键字:文件 文件名 中文 何记录 记录 文件夹 | 更新日期: 2023-09-27 18:17:44

我最近写了一个winform,用来记录文件夹中文件数量的变化,当两个文件夹中的文件数量不相同时显示一条消息。所以我想通过添加代码来改进我的程序,以这样的方式…当文件名和内容发生变化时,我是否应该通知他们?

这意味着两个文件夹中的文件总数将相同。但是如果我将文件名更改为不同的文件名或者文件名中的内容被删除或添加。在这种情况下,我能做什么?


任何想法。注意,我不想上传任何东西到软件,软件应该自动完成所有工作…

如何记录文件夹中文件名和文件内容的更改

您可以使用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);
}