好吧,我使用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不再冒险创造日期?
答案 0 :(得分:1)
我对FileInfo认为不存在的文件有相同的行为。确保该文件存在,并且它是在FileInfo对象之前创建的。否则,您需要调用FileInfo.Refresh()以便更新FileInfo对象中的状态数据。