C#递增文件名

C# incrementing filename

我想稍微更改一下代码,这样如果我已经有了一个文件,它将在文件名后写入 (1)、(2) 等。在当前方式下,它保存文件,然后该程序的另一种使用将更多行添加到现有文件中。如果我知道如何更改它,我正在考虑使文件不是 (1)、(2),而是 Results_DATE_TIME(例如:Results_2015_05_20_1953)。

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
foreach (string filename in openFileDialog.FileNames) //number of files varies
{
    double m = Math();

    string path = desktopPath + @"\Results.txt";
    using (StreamWriter writer = new StreamWriter(path, true))
    {
        writer.WriteLine(m);
    }
}

尝试按照

  path = "Results-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ff") + ".txt";

使用以下内容替换您的路径生成:

string fileName = string.Format(@"\Results_{0}.txt", DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"));
string path = desktopPath + fileName;

如果两个人同时添加一个文件,无论如何都会发生冲突。在那种情况下,我会使用 guid:

path = += "-" + Guid.NewGuid().ToString();

试试这个

   fileName = string.Concat(@"\Results_", DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ff"), ".txt");
    string path = desktopPath + fileName;