我確實有一個很奇怪的問題!我不知道問題是在框架,操作系統或者也許只是我,誤解的東西...令人難以置信的奇怪的文件創建時間問題
我有一個文件,這可能是很久以前創建的,我使用該文件,然後我想歸檔它,通過改變它的名字。然後我想在重命名之前創建一個與舊文件名稱相同的新文件。夠簡單!
令我感到困惑的問題是,新創建的文件出錯了「created」-timestamp!這是一個問題,因爲它是我想用來確定何時存檔和創建新文件的時間戳。
我創建了一個顯示問題的非常小的示例。要使示例工作,Files文件夾中必須有文件1.txt。此外,還必須及時設置文件屬性(使用其中一個工具,我使用Nomad.NET)。
static void Main(string[] args)
{
// Create a directory, if doesnt exist.
string path = Path.GetDirectoryName(Application.ExecutablePath) + "\\Files";
Directory.CreateDirectory(path);
// Create/attach to the 1.txt file
string filename = path + "\\1.txt";
StreamWriter sw = File.AppendText(filename);
sw.WriteLine("testing");
sw.Flush();
sw.Close();
// Rename it...
File.Move(filename, path + "\\2.txt");
// Create a new 1.txt
sw = File.AppendText(filename);
FileInfo fi = new FileInfo(filename);
// Observe, the old files creation date!!
Console.WriteLine(String.Format("Date: {0}", fi.CreationTime.Date));
Console.ReadKey();
}
最後,我通過創建文件(使用錯誤的/舊的時間戳)解決它,我通過設置FileInfo.CreationTime = DateTime.Now來「手動」更改它。 – kaze 2010-01-22 11:28:34