Cómo: Obtener la colección de archivos de un directorio en Visual Basic
Las sobrecargas del método FileSystem.GetFiles devuelven una colección de solo lectura de cadenas que representan los nombres de los archivos contenidos en un directorio:
Use la sobrecarga GetFiles(String) para realizar una búsqueda de archivos sencilla en un directorio concreto, sin buscar en los subdirectorios.
Use la sobrecarga GetFiles(String, SearchOption, String[]) para especificar más opciones de búsqueda. Puede usar el parámetro
wildCards
para especificar un patrón de búsqueda. Para incluir los subdirectorios en la búsqueda, establezca el parámetrosearchType
en SearchOption.SearchAllSubDirectories.
Si no se encuentran archivos que coincidan con el patrón especificado, se devuelve una colección vacía.
Para enumerar los archivos de un directorio
Use una de las sobrecargas del método FileSystem.GetFiles y proporcione el nombre y la ruta de acceso del directorio para buscar en el parámetro
directory
. En el siguiente ejemplo se devuelven todos los archivos contenidos en el directorio y se agregan aListBox1
.For Each foundFile As String In My.Computer.FileSystem.GetFiles( My.Computer.FileSystem.SpecialDirectories.MyDocuments) listBox1.Items.Add(foundFile) Next
Programación sólida
Las condiciones siguientes pueden provocar una excepción:
La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero, solo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (empieza por \\.\) (ArgumentException).
La ruta de acceso no es válida porque es
Nothing
(ArgumentNullException).directory
no existe (DirectoryNotFoundException).directory
apunta a un archivo existente (IOException).La ruta supera la longitud máxima definida por el sistema (PathTooLongException).
Un nombre de archivo o de directorio de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
El usuario no tiene los permisos necesarios (UnauthorizedAccessException).