反正知道在c#中添加到文件夹的新文件

时间:2014-04-05 08:21:11

标签: c#-4.0

无论如何知道在c#中添加到文件夹的新文件我不能使用lastAccessTime和LastWriteTime,而且我也无法检查文件夹的大小是否因为相同大小的删除文件而导致尺寸问题。那么无论如何都要检查新文件是否已添加到文件夹中或不在c#

2 个答案:

答案 0 :(得分:2)

这可以使用FileSystemWatcher来完成,它提供事件来通知您FileSystem的更改。例如:

    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = pathToWatch;

    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    watcher.EnableRaisingEvents = true;

请查看此处的文档:http://msdn.microsoft.com/de-de/library/system.io.filesystemwatcher.aspx

您还可以将过滤器设置为仅监视文件,某些文件名等。

仔细考虑您需要处理的事件。如果您观看创建的文件,您可能也想处理已删除的文件。

答案 1 :(得分:1)

您可以使用FileSystemWatcher并回复文件夹中的每项更改。

因为事件可能非常令人困惑(某些程序覆盖文件,其他程序先删除然后再创建等),因此创建跟踪更改的自定义方式可能会很有用。

,例如,您可以创建每个文件的哈希值,并在每次更改或每5分钟左右比较新旧哈希值。通过这种方式,您可以自行决定应该更改哈希值的原因。

有关示例,请参阅:Creating hash for folder