2013-01-12 165 views
0

我想写一个功能,比较两个文件/文件夹检查是否有一个被更改。文件夹/文件比较

如果在文件中添加/删除或更改了某些内容,则表示在其中一个文件中发生了某些更改。所以函数返回提供的文件不相同。这个很简单。

困难的部分(如果它是一个文件夹):我想检查两个文件夹是否有相同的材料。例如:

文件夹1:

  • testfolder(已经A.TXT内部)
  • TESTFILE.TXT
  • testfile2.txt

文件夹2:

  • testfolder(其A.TXT有不同的文字比其他一个) - 改变
  • TESTFILE.TXT(同) - 没有变化
  • testfile2.txt(同) - 没有变化

输出:函数返回这两个文件夹(文件夹1和2)不相同。 (因为testfolder文件夹2有一个文件,是不是等同于testfolder的文件,该文件是内部文件夹1

如何创建这样的控制,什么是最好的方法呢?我应该在所有文件夹中进行递归搜索并逐一检查所有文件吗? (不希望)是否有像文件一样的文件夹的MD5控件?我该怎么办?

+1

你必须在我看来,使用[FileSystemWatcher类] 2种选择(http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)或[同步框架(HTTP: //msdn.microsoft.com/en-us/sync/default.aspx) – MethodMan

回答

1

我认为你应该做文件夹的递归比较。这应该不难。

正如在question中所写的那样,文件比较的最佳方法是逐字节比较。这article显示如何做到这一点。