2013-03-05 81 views
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()驚喜文件的數量是很大的:。

所以我檢查它爲什麼沒有發現任何文件,發現,我所有的文件有以下創建日期:

1601年1月1日00:00:00.000

什麼鬼?是什麼原因導致了這種奇怪的行爲爲什麼Windows停止創建日期?

回答

1

我對FileInfo認爲不存在的文件具有相同的行爲。確保文件存在,並且它是在FileInfo對象之前創建的。否則,您需要調用FileInfo.Refresh()以更新FileInfo對象中的狀態數據。