¡Tengo un problema muy extraño! Me pregunto si el problema está en el marco, OS o tal vez soy solo yo, malentendiendo las cosas ...Increíble problema de creación de archivos extraño
Tengo un archivo, que podría haber sido creado hace mucho tiempo, lo uso, y luego quiero archivarlo, cambiando su nombre. Luego quiero crear un nuevo archivo, con el mismo nombre que tenía el archivo anterior, antes de que se cambiara de nombre. ¡Suficientemente fácil!
El problema que realmente me desconcierta, es que el archivo recién creado se equivoca "creado" -timestamp! Eso es un problema ya que es esa marca de tiempo que quiero usar para determinar cuándo archivar y crear un nuevo archivo.
He creado una muestra muy pequeña que muestra el problema. Para que la muestra funcione, debe haber un archivo 1.txt en la carpeta Archivos. Además, el atributo del archivo también debe estar atrás en el tiempo (con una de las herramientas disponibles, yo uso 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();
}
Finalmente, lo resolvé después de crear el archivo (con la marca de tiempo incorrecta/antigua), lo cambié "manualmente" al configurar el FileInfo.CreationTime = DateTime.Now. – kaze