我需要将目录A中的文件同步到目录B。我检查A中的文件,然后将它们与B中的文件一一进行比较。如果在 B 中找到与 A 同名的文件,我通过比较它们的大小来检查文件是否不同。如果文件大小不同,我会记录并继续下一个文件。但是,如果文件大小相同,我还需要验证文件的内容是否不同。为此,我想创建两个文件的哈希值并进行比较。这更好还是我应该逐字节比较文件?还请说明您为什么要选择其中一种方法。
我正在使用 C# (.NET 4) 并且需要保留 B 上的所有文件,同时复制 A 上新添加的文件并报告(并跳过)任何重复项。
谢谢。
编辑:这项工作将每晚运行,我可以选择仅在目录 B 上存储文件的哈希值,目录 A 将被动态填充,因此我无法对这些文件进行预哈希处理。此外,哪种哈希算法更适合此目的,因为我也想避免哈希冲突。