我有c#应用程序。这写入登录文件夹。删除文件并重新创建文件后,不更改Windows中的创建日期
代码如下。
if (File.Exists(@"C:\EXT_LOG\LOG.txt"))
{
File.Delete(@"C:\EXT_LOG\LOG.txt");
}
string Data = "xxxxx";
System.IO.StreamWriter file = new StreamWriter(@"C:\EXT_LOG\LOG.txt");
file.WriteLine(Data);
file.Dispose();
file.Close();
我删除文件,如果存在,我创建具有相同名称的文件。 当我运行程序时,文件的创建日期不变。
我猜windows的任何管理器或任何文件表仍然包含该文件。
那么,当我删除文件时,是否可以删除管理器或文件表内容?
如何以及何时你检索创建日期?如果它只是Windows资源管理器,你有没有尝试点击F5刷新视图? –
@GrantWinney其实你可以从Windows资源管理器自己测试。 1)查找现有的旧文件。 2)删除它3)创建一个具有相同名称的新文件4)新文件将具有相同的**创建**每个旧文件(假设你足够快)。请参阅下面的dotnetkid答案。我很惊讶自己:) – MickyD
这样做的原因是为了安全保存。就像MS WORD所做的一样。当应用程序自动保存时,它们不会覆盖文件。相反,他们移动旧文件,并创建一个副本新文件。但是,新文件需要保留旧文件的属性,包括创建时间。请参阅您在前面看到的带有〜符号的临时文件,使隐藏文件可以看到发生这种情况。 – SreekanthGS