C#在同一目录生成不重名文件如何实现……思路……

解决方案 »

  1.   

                Guid gd = Guid.NewGuid();
               string str1= gd.ToString();用Guid 这个基本不会出现重名的,不然就自已产生不重复的随机数
      

  2.   


    时间怎么能唯一?
    通常是GUID,或者检查文件名,如果以存在,就加_0,_1等。
      

  3.   

    要类似于windows新建文件夹一样……
      

  4.   

    类似于windows新建文件夹一样就是设个默认名字
    然后循环去判断这个名字的文件夹是否存在
    如果存在就在后面加"1"再创建
    否则就直接创建
      

  5.   

    private void button1_Click(object sender, EventArgs e)
    {
        var index = 0;
        var filename = "";
        do
        {
            filename = string.Format(@"c:\temp\新文件{0}.txt", index++);
        } while (File.Exists(filename));
        File.Create(filename);
    }
      

  6.   

    遍历文件夹获取同名文件数量
    DateTime.Now.ToString()
    或Guid
      

  7.   

    以我们现有项目来说吧,如果不是临时文件的话就获取当前系统时间加上一个递增数字做序列,以时间为文件名直观,而如果是临时文件,例如放入系统temp中话就采用Guid gd = Guid.NewGuid()
      

  8.   

    遍历文件夹获取同名文件数量
    DateTime.Now.ToString()
    或Guid组合使用啊!
      

  9.   

    遍历文件夹获取同名文件数量
    DateTime.Now.ToString()
    或Guid
      

  10.   

    while(true)
    {
       if(文件不存在)
          return 文件名;
        文件名后坠个随机数;
    };可参看一下:DateTime.Now.Ticks
      

  11.   

    GUID 不可能重复的 只要创建Guid的时候关联好文件名,找回来不难的
      

  12.   

    或许文件名用这样表现就足以解决了string filename = DateTime.Now.ToString("yyyyMMddHHmmss");
      

  13.   

    情况是这样的:假设我在生成  C:\CSDN.txt 
                 再生成一次   C:\CSDN(1).txt 
                 再生成一次   C:\CSDN(2).txt            
                             ……
    命名不重复应该可以做到,但是怎么简单点的去判断在最新的文件名(如C:\CSDN(2).txt)的基础上再去命名新的文件名……
               
     
      

  14.   


      /// <summary>
      /// 得到文件路径(防止有文件名重复)
      ///  如:aaa.txt已经在directory目录下存在,则会得到文件aaa(1).txt
      /// </summary>
      /// <param name="directory">目录名</param>
      /// <param name="file">文件名</param>
      /// <returns>文件路径</returns>
      static int i = 0;
      static string Path = String.Empty;
      public static string GetPath(string directory, string file)
      {
        if (Path == String.Empty)
        {
          Path = Path.Combine(directory, file);
        }
        string path = Path.Combine(directory, file);
        if (File.Exists(path))
        {
          i++;
          string filename = Path.GetFileNameWithoutExtension(Path) + "(" + i.ToString() + ")";
          string extension = Path.GetExtension(Path);
          return GetPath(directory, filename + extension);
        }
        else
        {
          i = 0;
          Path = String.Empty;
          return path;
        }
      }