How to: Get the Collection of Files in a Directory in Visual Basic
Updated: July 20, 2015
For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.
The overloads of the FileSystem.GetFiles method return a read-only collection of strings representing the names of the files within a directory:
Use the GetFiles(String) overload for a simple file search in a specified directory, without searching subdirectories.
Use the GetFiles(String, SearchOption, String) overload to specify additional options for your search. You can use the
wildCardsparameter to specify a search pattern. To include subdirectories in the search, set the
searchTypeparameter to SearchOption.SearchAllSubDirectories.
An empty collection is returned if no files matching the specified pattern are found.
Use one of the FileSystem.GetFiles method overloads, supplying the name and path of the directory to search in the
directoryparameter. The following example returns all files in the directory and adds them to
The following conditions may cause an exception:
The path is not valid for one of the following reasons: it is a zero-length string, it contains only white space, it contains invalid characters, or it is a device path (starts with \\.\) (ArgumentException).
The path is not valid because it is
directorydoes not exist (DirectoryNotFoundException).
directorypoints to an existing file (IOException).
The path exceeds the system-defined maximum length (PathTooLongException).
A file or directory name in the path contains a colon (:) or is in an invalid format (NotSupportedException).
The user lacks necessary permissions to view the path (SecurityException).
The user lacks necessary permissions (UnauthorizedAccessException).