1

好吧,我使用该FileInfo.Create()方法创建了许多文件,然后经过一段时间后,我查找在该日期创建的所有文件。

oCurrentFile 
    = new FileInfo(oFileRegion.Directory.FullName + "\\" + _traceFilePrefix 
                    + sIdentifier + "_" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss.ffff") + _traceFileExt);
FileStream fs = oCurrentFile.Create(); fs.Close();

这几天工作得很好!最近,我试图收集昨天创建的所有文件。

IEnumerable<FileInfo> oldFiles =
    (from oldFile in oldFiles
    where oldFile.CreationTime.DayOfYear == DateTime.Now.Substract(new TimeSpan(1,0,0,0).DayOfYear
    orderby oldFile.CreationTime ascending
    select oldFile)

.Count()当我使用惊喜查找文件数量时,文件数量很大: 0

所以我检查了为什么它没有找到任何文件并注意到我所有的文件都有以下创建日期:

01.01.1601 00:00:00.000

有没有搞错?是什么导致了这种奇怪的行为?为什么 Windows 会突然停止获取创建日期?

4

1 回答 1

1

对于 FileInfo 认为不存在的文件,我有相同的行为。确保该文件存在,并且它是在 FileInfo 对象之前创建的。否则,您需要调用 FileInfo.Refresh() 以更新 FileInfo 对象中的状态数据。

于 2013-11-19T16:22:48.940 回答