有一个硬盘,里面有很多文件,如何找出其中的重复文件。
我们可以做的第一件事是根据 FILE_SIZE 分隔文件。
然后我们可以使用某种算法(如 MD5)找到每个文件的哈希值,具有相同哈希值的文件将是重复的。
除了使用 FILE_SIZE 之外,谁能介绍一些其他方法来分离重复文件的候选者。也许使用文件头、扩展名或任何其他想法?
最佳答案
您可能希望使用多级比较,首先进行快速比较,以避免不必要地运行较慢的比较。建议:
比较文件长度。
然后比较文件的前1K字节。
然后比较文件的最后 1K 字节。 (文件的第一部分和最后一部分更有可能包含签名、内部校验和、修改数据等,它们会发生变化。)
比较文件的 CRC32 校验和。使用 CRC 而不是加密散列,除非您有需要关注的安全措施。 CRC 会快得多。
关于file - 通过计算每个文件的哈希值以外的技术在硬盘上查找重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097930/