3.11 Manejo de archivos
ASP .NET tiene varias formas de aceder a los archivos y subdirectorios contenidos en un directorio, el espacio de nombres System.IO contiene clases que facilitan el trabajo con archivos y carpetas:
- File y Directory: contienen métodos estáticos. Los miembros de File y de Directory son miembros compartidos por lo que es más sencillo su uso pues no es necesario crear una instancia previa de su clase; sirven para crear, borrar y modificar archivos y carpetas: Exists, Copy, Move, Delete, OpenText, GetAttributes…
- FileInfo y DirectoryInfo: contienen métodos de instancia. por lo que es necesario crear un objeto para poder utilizar la clase; sus métodos sirven para extraer información de los aributos de archivos y carpetas: Name, FullName, CreationTime, etc…
- Path: contiene métodos para administrar cadenas DirectoryInfo/nombre_de_archivo
La sintaxis de la clase FileInfo es el siguiente:
FileInfo Archivo = New FileInfo(NombreArchivo);
En cambio la clase File solo es necesario invocarla como en el ejemplo siguiente:
File.Open(NombreArchivo, FileMode.Append);
Para obtener el listado de archivos de un directorio podemos utilizar tanto la clase Directory como la clase DirectoryInfo, incluso podemos obtener solo algunos archivos utilizando una expresión wildcard, como *.htm, para esto utilizamos el método GetFiles() utilizando la siguiente sintaxis:
DirectoryInfo Directorio = New DirectoryInfo(RutaDirectorio);
FileInfo Archivos[] = Directorio.GetFiles([opcional WildCard]);
Este método regresa un arreglo de cadenas, el cual contiene los nombres de archivos del directorio, incluso podemos desplegar los archivos de un directorio en un datagrid, lo único que tenemos que hacer es asignar el arreglo de cadenas a la propiedad DataSource del DataGrid y después l amar al método DataBind del DataGrid.