我有一个包含子文件夹和文件层次结构的文件夹。
我需要定期检查是否有任何文件/文件夹被修改/删除/添加。
我正在考虑从头开发一种算法:
我的程序未运行时可能会发生更改,可以随时关闭/打开 例如,用户可能在星期一关闭程序,在星期二编辑文件,并在星期三重新打开程序。我需要检查在此期间发生了哪些变化,因此我无法使用FileSystemWatcher。
在重新发明轮子之前,是否已经有一些库可以做到这一点?
注意:
git
或svn
等任何VCS二进制文件。答案 0 :(得分:2)
您可以使用FileSystemWatcher(本机.NET类)来实现您的目的。
答案 1 :(得分:2)
您正在寻找FileSystemWatcher
收听文件系统更改通知并在何时引发事件 目录或目录中的文件发生更改。
答案 2 :(得分:2)
如果你不能使用FileSystemWatcher(我讨厌它,它是IMO框架中最脆弱的类)你唯一的另一个选择是手动跟踪文件。您需要存储文件名和文件内容的哈希值,以检查是否添加/删除或更改了文件。我会使用数据库存储它,SQLExpress或SQLite有一个C#包装器。
您的程序会在启动/停止时检查文件,然后我会在运行时使用计时器来定期检查文件。
编辑:来自OP的澄清,我不知道任何开箱即用的库。然而,自己实施它将是微不足道的。带有一个表的小型数据库,以及控制台应用程序或Windows服务中的计时器控件将完全满足您的需求。