请教:如何确保各个文件的惟一性?
原本打算对各个文件生成MD5校验码来区分,这对小尺寸的文件可以,但对几十M、几百M的文件而言在效率上表现很低下
请教:还有什么好的点子解决这种问题,谢过各位

解决方案 »

  1.   

    楼上(zuoansuifeng)兄,没说到问题的要害啊,请问有什么高效的办法呢?
      

  2.   

    没有~
    Hash的计算都需要时间的
      

  3.   

    谢过楼上(ly_liuyang)兄
    除了MD5以外,不知道还有没有什么其他办法达到类似目前,让是尽可能高效要根据一个文件生成一串惟一的编码。
    暂时想到个差的主意:如果文件大于指定大小,就从指定断取流再生成MD5,不知道这样的唯一性高不高,请指教。
      

  4.   

    http://delphi.about.com/od/fullcodeprojects/ss/crc_filecheck.htm
      

  5.   

    Hash计算会扫描每一个字节所有会慢
    只有在读取速度上想法提高
    楼主可以把调试代码贴出来看看有没有方法提高
      

  6.   

    首先感谢楼上vividw兄及zswang(伴水清清)指导:)
    VIVIDW兄提供的页面小弟看了,是利用CRC32,经测试,效率果然比MD5要高效,120M的文件(RM视频)需要6.2秒,MD5需要十多秒。注:一直误以为CRC32要比MD5要慢,看来还是要多实践哪。
    伴水清清兄,欢迎指导,代码没什么,过程如下:
      1,就是遍历指定的文件夹,把其下(包括子目录)的所有文件存入LIST,
      2,对该LIST中的文件生成唯一码
      3,通过LIST中的唯一码找出相同的文件
    ----------------------
    目的是要找出(二进制级别)相同的文件,采用的办法是对文件生成“唯一码”进行比较来判别,关键是生成这个唯一码的效率。
    如果不采用这种“唯一码”的办法,还可以想到什么更好的方法呢?请指导,多谢:)