我正在制作一个基本程序,当涉及到保存数据时,我试图将其放入.txt文件中-效果很好.问题是,除了日期之外,我无法保存秒数/小时,因此我的解决方案是仅获取日期,然后分别在最新文件上放置1、2、3.我编写的代码是:
static string FileName()
{
string fileName = "";
char last = ' ';
int lastDigit = 0;
string lastDigitString = "";
string directory = Directory.GetCurrentDirectory();
if (File.Exists(DateTime.Now.Date.ToString("dd-MM-yy" + "1") + ".txt"))
{
fileName = Path.GetFileNameWithoutExtension(newFileName + ".txt");
last = fileName[fileName.Length - 1];
lastDigit = int.Parse(last.ToString());
lastDigit = lastDigit + 1;
lastDigitString = lastDigit.ToString();
newFileName = fileName + lastDigitString;
}
else
{
newFileName = DateTime.Now.Date.ToString("dd-MM-yy" + "1");
}
return fileName;
}
在顶部将newFileName定义为全局变量.
public static string newFileName = DateTime.Now.Date.ToString("dd-MM-yy" + "1");
我一直在搞弄一些可能不合时宜的事情.我的解决方案是获取文件名,然后删除.txt-这将使我只剩下名字的最后一位,然后将其增加一个,然后将其添加到新文件的末尾名称.我希望得到的是“ FileName1”,然后是“ FileName12”,但是一旦到达,它将继续添加到“ FileName12”,这显然是从追加设置为true的,但是我希望使用“ FileName123”.
解决方法:
是否有要求不要使用小时/分钟/秒作为文件名?
您正在使用DateTime.Now.Date.ToString(..),它将删除小时/分钟/秒的数据.您可以使用DateTime.Now.ToString(..)保留子日期数据.
您需要提供自己的格式字符串以生成文件名友好的输出.