【发布时间】:2015-02-08 15:35:58
【问题描述】:
我有一个程序可以为当月的每一天写日记,我遇到的问题是当我开始新的一个月时,上个月的所有约会仍然存在,因为它们保存在一个 txt 文件中,就像这样
3,8.30am,牙医,描述
上面的第一个字段是天,你可以看到月份不存在。 下面的代码是我试过的,它编译没有错误。
我的问题是这行得通吗? 我不知道如何检查它,因为我现在创建的任何文件都将是一个新文件,我没有任何旧文件??
我想要的是,当程序加载时,如果这个月是例如二月并且文件是在一月创建的,删除该文件并创建一个新的空文件
bool checkFileExists(string file)
{
if (!System.IO.File.Exists(file))
{
using (FileStream fs = File.Create(file))
{
// File created.
return true;
}
}
else
{
FileInfo fi = new FileInfo(file);
if (fi.CreationTime < DateTime.Now.AddMonths(-1))
fi.Delete();
}
// File exists.
return true;
}
【问题讨论】:
-
要验证代码是否正常工作,您可以随时更改测试文件的创建时间:stackoverflow.com/questions/9589677/…
-
尝试将
if语句从if (fi.CreationTime < DateTime.Now.AddMonths(-1))更改为if (fi.CreationTime.Month < DateTime.Now.Month) -
这很酷,我不知道这是可能的,谢谢
-
这闻起来像是糟糕的设计。您可以将文件格式更改为包含年和月吗?
-
如果只是,不,我不能改变它,它必须是那个确切的格式。