My.Computer.FileSystem.GetFiles メソッド

更新 : 2007 年 11 月

ディレクトリ内のファイルの名前を表す文字列のコレクションを、読み取り専用で返します。

' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(directory)
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(directory ,searchType ,wildcards)
' Declaration
Public Function GetFiles( _
   ByVal directory As String _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
' -or-
Public Function GetFiles( _
   ByVal directory As String, _
   ByVal searchType As SearchOption, _
   ByVal wildcards As String() _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

パラメータ

  • directory
    ファイルを探すディレクトリを指定する String です。必ず指定します。

  • searchType
    SearchOption 列挙型 です。サブフォルダを含めるかどうかを指定します。既定値は SearchOption.SearchTopLevelOnly です。必ず指定します。

  • wildcards
    一致を調べるパターンを指定する String です。必ず指定します。

戻り値

文字列の読み取り専用のコレクションです。

例外

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

  • パスが無効です。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられます (ArgumentException)。

  • パスが Nothing であるため、有効ではありません (ArgumentNullException)。

  • directory が存在しません (DirectoryNotFoundException)。

  • directory が既存のファイルをポイントしています (IOException)。

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

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

  • ユーザーがパスを表示するのに必要なアクセス許可を持っていません (SecurityException)。

  • ユーザーに必要なアクセス許可がありません (UnauthorizedAccessException)。

解説

指定されたパターンに一致するファイルが見つからなければ、空のコレクションが返されます。

処理手順

My.Computer.FileSystem.GetFiles メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

ディレクトリ内のファイルのコレクションを取得する

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

ディレクトリに含まれる特定のパターンを持つファイルを探す

方法 : Visual Basic で特定のパターンに一致するファイルを検索する

使用例

次の例は、ディレクトリ内のすべてのファイルを返して、 ListBox1 にそれらを追加します。

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

この例では、ListBox1 という名前の ListBox がフォームにあることが必要です。

次の例は、ディレクトリ内の拡張子が .dll であるすべてのファイル返して、それらを ListBox1に追加します。

For Each foundFile As String In My.Computer.FileSystem.GetFiles _
      (My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
       FileIO.SearchOption.SearchTopLevelOnly, "*.txt")
    ListBox1.Items.Add(foundFile)
Next

この例では、ListBox1 という名前の ListBox がフォームにあることが必要です。

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)

使用可能なプロジェクトの種類

プロジェクトの種類

使用可/不可

Windows アプリケーション

あり

クラス ライブラリ

あり

コンソール アプリケーション

あり

Windows コントロール ライブラリ

あり

Web コントロール ライブラリ

あり

Windows サービス

あり

Web サイト

あり

アクセス許可

次のアクセス許可が必要になる可能性があります。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

処理手順

方法 : Visual Basic で特定のパターンに一致するファイルを検索する

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

参照

My.Computer.FileSystem オブジェクト

SearchOption 列挙型

System.Collections.ObjectModel.ReadOnlyCollection<T>

FileSystem.GetFiles