如果文件已经存在于c#中,则增加文件名

时间:2018-11-23 02:34:42

标签: c#

如果文件已存在于指定路径中,请尝试在Windows窗体中尝试以下逻辑以增加文件名。但是创建的文件名为“ New1.txt2”,“ New1.txt2.txt3”。如何在每个按钮上将文件创建为“ New1.txt”,“ New2.txt”,“ New3.txt” ......“ Newn.txt”?

String filename =@"C:\path";
if (File.Exists(filename))
        {
            count++;
            filename = filename + count.ToString()+".txt";

1 个答案:

答案 0 :(得分:2)

您的代码中还有另外一个问题。为什么会有诸如“ New1.txt2”,“ New1.txt2.txt3”,“ New1.txt2.txt3.txt4”之类的文件名?因为您不将初始文件名保存在某个地方。因此,我建议为文件名保留两个变量:例如filename_initialfilename_current

尝试这样的事情:

String filename_initial = @"C:\path\New.txt";
String filename_current = filename_initial;
count = 0;
while (File.Exists(filename_current))
{
    count++;
    filename_current = Path.GetDirectoryName(filename_initial)
                     + Path.DirectorySeparatorChar
                     + Path.GetFileNameWithoutExtension(filename_initial)
                     + count.ToString()
                     + Path.GetExtension(filename_initial);
}