Algunas operaciones básicas en el trabajo con archivos: comprobar si existe un archivo o un directorio, obtener las fechas de última modificación de un archivo

Aunque lleva con nosotros muchos años, la librería System.IO guarda una gran cantidad de utilidades que pasan prácticamente desapercibidas para algunos de nosotros.
Hoy vamos a ver una serie de estas funciones.
Comprobar si existe un archivo o un directorio
Para comprobar si existe un archivo o directorio debemos utilizar el método Exists de las clases System.IO.File o System.IO.Directory respectivamente.
Por ejemplo, para comprobar si existe un archivo:
if (System.IO.File.Exists("c:\\temp\\Archivo.txt")) Console.WriteLine("El archivo existe."); else Console.WriteLine("El archivo no existe.");
Mientras que para comprobar si existe un directorio utilizamos el siguiente método:
if (System.IO.Directory.Exists("c:\\temp")) Console.WriteLine("El archivo existe."); else Console.WriteLine("El archivo no existe.");
Obtener y asignar la fecha y hora de último acceso a un archivo
Para cambiar la fecha y hora de último acceso a un archivo, debemos utilizar respectivamente los métodos SetLastAccessTime y GetLastAccessTime de la clase System.IO.File . Por ejemplo:
// Cambiar la fecha de acceso string strFileName = "c:\\temp\\Archivo.txt"; System.IO.File.SetLastAccessTime("C:\\, DateTime.Now); // Leer la fecha de acceso DateTime dtmLast = System.IO.File.GetLastAccessTime(strFileName); Console.WriteLine("Hora de último acceso: {0}", dtmLast.ToString());
Obtener y asignar la fecha y hora de última escritura en un archivo
Si lo que queremos es obtener o modificar la fecha de última escritura en el archivo utilizaremos los métodos SetLastWriteTime y GetLastWriteTime de System.IO.File . De esta forma:
// Cambiar la fecha de escritura string strFileName = "c:\\temp\\Archivo.txt"; System.IO.File.SetLastWriteTime("C:\\, DateTime.Now); // Leer la fecha de escritura DateTime dtmLast = System.IO.File.GetLastWriteTime(strFileName); Console.WriteLine("Hora de último acceso: {0}", dtmLast.ToString());