请教高手:
    如何随机的快速的定位当前电脑内一个任意文件(获得文件pathname)?关键是如何快速. 谢谢

解决方案 »

  1.   

    提取文件列表后,随机访问列表当中的某一个不好吗按照文件系统的树形结构来说,没有FileFind的支持,无法获取文件的名字(除非你预先知道这个文件的名字,可是那样又达不到随机的目的)
      

  2.   

    Thank to  happy__888([顾问团]寻开心):
          可是提取文件列表要耗大量时间啊. 我的程序要求时间极短,希望在毫秒级时间内得到pathname,并退出. 苦在每个文件被随机访问到的理论上的机率相等,时间又短. 你有机率近似相当的算法吗?
      

  3.   

    你是要一个类似Desktop  Search的功能吧...
    这个东西还是只能自己做...要不就使用别人的Desktop Search的API:
    MSN Desktop Search: ISearchDesktop
    http://www.codeproject.com/csharp/MSNDesktopSearchQueryAPI.asp
      

  4.   

    Thank to  phoenix96_2000(eXMe):
         同我要的不一样.可能是我没说清楚.我要的是在windows系统下,Fat32/NTFS的格式下. 如何按要求实现这种算法:
    1. 随机的抽到一个文件,得到它PathName.
    2. 这个随机的机率要对磁盘中每个文件而言,大体是相同的.
    3. 最后一个关键是:这个算法实现的时间要很短,因为整个实现算法的程序只容许有几百毫秒的生存时间.
      

  5.   

    :)  不是想搞病毒吧???你可以用fildfind的结构枚举出顶层的,随机选择一个, 如果是文件直接处理
    如果是文件夹,打开,再搜索出一层,随机选择一个,如果文件直接处理,如果文件夹递归处理下去如果你要做大量的这种处理的话,预先搜索出全部放置到队列当中随即选的效率会更高。