我的 C# 代码根据输入生成多个文本文件并将其保存在文件夹中。另外,我假设文本文件的名称与输入相同。(输入仅包含字母)
如果两个文件具有相同的名称,那么它只是覆盖前一个文件。
但我想保留这两个文件。
我不想将当前日期时间或随机数附加到第二个文件名。相反,我想像 Windows 一样进行操作。如果第一个文件名为 AAA.txt ,则第二个文件名为 AAA(2).txt,第三个文件名为 AAA(3).txt .....第 N 个文件名为 AAA(N).txt 。
string[] allFiles = Directory.GetFiles(folderPath).Select(filename => Path.GetFileNameWithoutExtension(filename)).ToArray();
foreach (var item in allFiles)
{
//newFileName is the txt file which is going to be saved in the provided folder
if (newFileName.Equals(item, StringComparison.InvariantCultureIgnoreCase))
{
// What to do here ?
}
}
这将检查是否存在具有 tempFileName 的文件,并将数字加一,直到找到目录中不存在的名称。
int count = 1;
string fileNameOnly = Path.GetFileNameWithoutExtension(fullPath);
string extension = Path.GetExtension(fullPath);
string path = Path.GetDirectoryName(fullPath);
string newFullPath = fullPath;
while(File.Exists(newFullPath))
{
string tempFileName = string.Format("{0}({1})", fileNameOnly, count++);
newFullPath = Path.Combine(path, tempFileName + extension);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)