c# - 当您发现重复的文件名时,是否有一种简单的方法可以将 (#) 添加到文件名中?

标签 c# .net file file-io

我在 C# 中输出文件,并希望通过添加括号和数字来处理以相同名称保存的文件:

FooBar.xml
FooBar(1).xml
FooBar(2).xml
...
FooBar(N).xml

在 .NET 中是否有一种简单的方法可以做到这一点? (#) 构造是否有特殊名称?

最佳答案

您只需要手动计算和操作文件名。下面的(伪)代码很脏,但它是基本算法。根据您的需要重构它。

var filenameFormat = "FooBar{0}.xml";
var filename = string.Format(filenameFormat, "");
int i = 1;
while(File.Exists(filename))
    filename = string.Format(filenameFormat, "(" + (i++) + ")");

return filename;

如果您可以摆脱它,您总是可以以您选择的格式添加 DateTime.Now。无论如何,这就是我们对临时文件所做的。

关于c# - 当您发现重复的文件名时,是否有一种简单的方法可以将 (#) 添加到文件名中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174640/

相关文章:

c# - 在 WCF Azure 服务总线中动态分配 json 响应内容类型

c# - 在 C# 中将数据集导入 Excel 时无法文件位置?

Javascript 未捕获语法错误 : missing ) after argument list

c# - 如何将 "yyyyMMdd Hmm"格式的字符串解析为DateTime?

php - 如何使用 PHP 创建 CSV 文件(并上传)

c# - 如何计算路径上的点?

c# - 具有现有 IoC 容器和环境的 ASP.NET Core?

c# - 更改csv文件,使用动态映射读写

python - 音频未加载

linux - 如何 tar 最近的 n 个文件