在windows里面新建文件夹默认是“新建文件夹”,继续新建就是“新建文件夹-副本”、“新建文件夹-副本(2)”、“新建文件夹-副本(3)”....还有文件也是差不多。想问下,这样是怎么实现的。就知道Directory有个CreateDirectory()。我想知道他是怎么判断文件或者文件夹是否已经存在的。

解决方案 »

  1.   

    //判断文件是否存在用这个
    if(System.IO.File.Exists("新建文件"))//判断文件夹是否存在用这个
    if(System.IO.Directory.Exists("新建文件夹"))
      

  2.   

    一个笨方法就是循环判断
    int i=2;
    while(true)
    {
       if(!System.IO.Directory.Exists(string.Format("新建文件夹-副本({0})",i)))
        {
           System.IO.Directory.CreateDirectory(string.Format("新建文件夹-副本({0})",i));
           break;
        }
       i++;
    }
      

  3.   

    我用messagebox试了下,为什么每次输出的i都是2?
      

  4.   

    这方法没问题,求教有没有好点的方法?
    还有System.IO.Directory.Exists("新建文件夹")这个方法,是遍历实现的吗?
    或者假设没在windws下,我用数据库保存文件信息,类似的功能实现有什么算法吗,除了一遍遍的遍历以外?