Tôi có một vấn đề rất lạ! Tôi tự hỏi nếu vấn đề là trong khuôn khổ, hệ điều hành hoặc có thể nó chỉ là tôi, những điều hiểu lầm ...Vấn đề thời gian tạo tệp lạ không thể tin được
Tôi có một tập tin, có thể được tạo ra từ lâu, tôi sử dụng tập tin, và sau đó tôi muốn lưu trữ nó, bằng cách thay đổi tên của nó. Sau đó, tôi muốn tạo một tệp mới, có cùng tên với tệp cũ, trước khi tệp được đổi tên. Vừa đủ dễ!
Sự cố thực sự gây khó khăn cho tôi, là tệp mới được tạo bị lỗi "tạo ra" -timestamp! Đó là một vấn đề vì đó là dấu thời gian mà tôi muốn sử dụng để xác định thời điểm lưu trữ và tạo tệp mới.
Tôi đã tạo một mẫu rất nhỏ hiển thị sự cố. Để mẫu hoạt động, phải có tệp 1.txt trong thư mục Tệp. Ngoài ra, thuộc tính tệp cũng phải được đặt ngược thời gian (với một trong các công cụ có sẵn, tôi sử dụng 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();
}
Cuối cùng, tôi đã giải quyết nó sau khi tệp được tạo (với dấu thời gian sai/cũ), tôi đã thay đổi nó "thủ công" bằng cách đặt FileInfo.CreationTime = DateTime.Now. – kaze