这取决于逻辑。如果你已经Output1.xlsx
Output2.xlsx
Output3.xlsx
删除了Output2.xlsx
,应该会发生什么,新文件应该是Output2.xlsx
还是Output4.xlsx
?如果您希望新文件的编号始终最高,您可以使用类似的代码
int lastNum = 0;
string[] files = Directory.GetFiles("c:\\myDir", "Output*.xlsx");
if (files.Length > 0)
{
Array.Sort(files);
lastNum = Convert.ToInt32(Regex.Match(files[files.Length - 1], "Output[\\d](*).xlsx").Result("$1"));
lastNum++;
}
FileInfo newExcelFile = new FileInfo("Output" + lastNum + ".xlsx");
当然你可以循环,但如果你有数千个文件,这不是一个好主意。对于少量文件可能没问题
int i = 0;
for (; i < Int32.MaxValue; i++)
{
if (File.Exists("Output" + i + ".xlsx"))
break;
}