Procedura: ottenere la raccolta di file di una directory in Visual Basic
Gli overload del metodo FileSystem.GetFiles restituiscono una raccolta di stringhe di sola lettura che rappresenta i nomi dei file contenuti in una directory:
Usare l'overload GetFiles(String) per eseguire una ricerca di file semplice in una directory specificata senza cercare nelle sottodirectory.
Usare l'overload GetFiles(String, SearchOption, String[]) per specificare opzioni aggiuntive per la ricerca. È possibile usare il parametro
wildCards
per specificare un criterio di ricerca. Per includere le sottodirectory nella ricerca, impostare il parametrosearchType
su SearchOption.SearchAllSubDirectories.
Se non vengono trovati file corrispondenti al criterio specificato, verrà restituita una raccolta vuota.
Per elencare i file in una directory
Usare uno degli overload del metodo FileSystem.GetFiles, fornendo il nome e il percorso della directory in cui cercare nel parametro
directory
. L'esempio seguente restituisce tutti i file della directory e li aggiunge aListBox1
.For Each foundFile As String In My.Computer.FileSystem.GetFiles( My.Computer.FileSystem.SpecialDirectories.MyDocuments) listBox1.Items.Add(foundFile) Next
Programmazione efficiente
Le seguenti condizioni possono generare un'eccezione:
Il percorso non è valido per uno dei motivi seguenti: è una stringa di lunghezza zero, contiene solo spazi vuoti, contiene caratteri non validi o è il percorso di un dispositivo (inizia con \\.\) (ArgumentException).
Il percorso non è valido in quanto è
Nothing
(ArgumentNullException).directory
non esiste (DirectoryNotFoundException).directory
punta a un file esistente (IOException).La lunghezza del percorso supera la lunghezza massima definita dal sistema (PathTooLongException).
Il nome di un file o di una directory nel percorso contiene i due punti (:) o ha un formato non valido (NotSupportedException).
L'utente non dispone delle autorizzazioni necessarie per visualizzare il percorso (SecurityException).
L'utente non dispone delle autorizzazioni necessarie (UnauthorizedAccessException).