10.6. Lectura de directorios
Si queremos analizar el contenido de un directorio, podemos emplear las clases Directory y DirectoryInfo.
La clase Directory contiene métodos para crear un directorio (CreateDirectory), borrarlo (Delete), moverlo (Move), comprobar si existe (Exists), etc. Por ejemplo, podríamos hacer cosas como
string miDirectorio = @"c:\ejemplo1\ejemplo2"; if (!Directory.Exists(miDirectorio)) Directory.CreateDirectory(miDirectorio);
También tenemos un método "GetFiles" que nos permite obtener la lista de ficheros que contiene un directorio. Así, podríamos listar todo el contenido de un directorio con:
string miDirectorio = @"c:\"; string[] listaFicheros; listaFicheros = Directory.GetFiles(miDirectorio); foreach(string fich in listaFicheros) Console.WriteLine(fich);
La clase DirectoryInfo permite obtener información sobre fechas de creación, modificación y acceso, y, de forma análoga, FileInfo nos permite conseguir información similar sobre un fichero. Podríamos usar estas dos clases para ampliar el ejemplo anterior, y que no sólo muestre el nombre de cada fichero, sino otros detalles adicionales como el tamaño y la fecha de creación:
DirectoryInfo dir = new DirectoryInfo(miDirectorio); FileInfo[] infoFicheros = dir.GetFiles(); foreach (FileInfo infoUnFich in infoFicheros) { Console.WriteLine("{0}, de tamaño {1}, creado {2}", infoUnFich.Name, infoUnFich.Length, infoUnFich.CreationTime); }
que escribiría cosas como
hiberfil.sys, de tamaño 1005113344, creado 15/12/2008 12:00:09