3

有一个硬盘有很多文件,你将如何找到其中的重复文件。
我们可以做的第一件事是根据 FILE_SIZE 分离文件。
然后我们可以使用某种算法(例如 MD5)找到每个文件的哈希值,具有相同哈希值的文件会重复。

除了使用 FILE_SIZE 之外,谁能告诉一些其他方法来隔离重复文件的候选者。也许使用文件头、扩展名或任何其他想法?

4

1 回答 1

2

您可能希望使用多个级别的比较,首先进行快速比较,以避免不必要地运行较慢的比较。建议:

  1. 比较文件长度。

  2. 然后比较文件的前 1K 字节。

  3. 然后比较文件的最后 1K 字节。(文件的第一部分和最后一部分更有可能包含会更改的签名、内部校验和、修改数据等。)

  4. 比较文件的 CRC32 校验和。除非您需要考虑安全措施,否则请使用 CRC 而不是加密哈希。CRC 会快得多。

于 2013-08-07T16:57:22.333 回答