方法: Visual Basic でディレクトリにあるファイルのコレクションを取得する

FileSystem.GetFiles メソッドのオーバーロードは、ディレクトリ内のファイルの名前を表す、文字列の読み取り専用のコレクションを返します。

  • 指定されたディレクトリ内を検索し、サブディレクトリを検索しない単純なファイル検索には GetFiles(String) オーバーロードを使用します。

  • 検索に追加オプションを指定するには、GetFiles(String, SearchOption, String[]) オーバーロードを使用します。 wildCards パラメーターを使用して、検索パターンを指定できます。 検索にサブディレクトリを含めるには、searchType パラメーターを SearchOption.SearchAllSubDirectories に設定します。

指定したパターンに一致するファイルがない場合は、空のコレクションが返されます。

ディレクトリ内のファイルをリストするには

  • FileSystem.GetFiles メソッドのオーバーロードのいずれかを使用して、検索するディレクトリの名前とパスを directory パラメーターに指定します。 次の例では、ディレクトリ内のすべてのファイルが返され、ListBox1 に追加されます。

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
      My.Computer.FileSystem.SpecialDirectories.MyDocuments)
    
        listBox1.Items.Add(foundFile)
    Next
    

信頼性の高いプログラミング

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが有効ではありません。原因として、長さが 0 の文字列であるか、空白のみが含まれているか、無効な文字が含まれているか、デバイス パスである (先頭が \\.\ である) ことが考えられます (ArgumentException)。

  • パスが Nothing であるため、有効でない (ArgumentNullException)

  • directory が存在しない (DirectoryNotFoundException)。

  • directory が既存のファイルを指している (IOException)。

  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。

  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)

  • ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)

  • ユーザーに必要な権限がない (UnauthorizedAccessException)。

関連項目