我有一些将文件移动到同一目录的代码。什么是一个好的策略:
答案 0 :(得分:2)
检测重复文件?
大多数编程语言都有一个类似于FileExists
的函数,它采用文件名并返回一个布尔值,指示文件系统中是否存在具有给定名称的文件。
处理名称相同但内容不同的文件?
计算两个文件的SHA1校验和并比较这些哈希值。大多数语言都会有一个sha1函数,它接受一个表示文件内容的字节数组,并返回一个表示SHA1哈希值的字节数组。
答案 1 :(得分:1)
嗯,一个简单的方法就是做cyclic redundancy check。有几种语言具有实现此功能的功能。您还可以计算文件的md5总和。但这并非100%可靠。
如果你需要检查它们是否是IDENTICAL,你需要打开两个文件的流,并逐字节地比较它们。
检查重复的文件名是显而易见的,比较它们。
编辑:如果您有许多文件,请比较文件大小。如果不匹配,则不能相等。
答案 2 :(得分:1)
如果您不需要原始文件名,只需计算文件“content”的MD5或SHA1哈希值,并将文件重命名为它。 : - )