この投稿では、C# のディレクトリ内のすべてのファイルを一覧表示する方法について説明します。

1.使用する Directory.GetFiles() 方法

あなたは使用することができます Directory.GetFiles() 指定したディレクトリ内のファイルのリストを取得するメソッド。検索するディレクトリの相対パスまたは絶対パスを取り、指定されたディレクトリ内のファイル名 (パスを含む) を含む文字列配列を、固定された順序で返しません。

コードをダウンロード

 
The Directory.GetFiles() メソッドはオーバーロードされ、指定されたディレクトリ内のファイルと照合する検索パターンを受け入れます。たとえば、次のコードは、指定されたディレクトリ内のすべてのファイルを一覧表示します。 .jpg 拡大。

コードをダウンロード

 
デフォルトでは、 Directory.GetFiles() メソッドは、現在のディレクトリでのみ検索を実行します。すべてのサブディレクトリを含めるように検索操作を拡張するには、 SearchOption.AllDirectories オプションを 3 番目のパラメーターとして指定します。たとえば、次のコードは、指定されたディレクトリに存在するすべてのファイルとそのすべてのサブディレクトリを任意の拡張子 (アスタリスク (*) 任意のファイル タイプと一致します)。

コードをダウンロード

 
すべてのファイルの名前とそのすべてのサブディレクトリのすべての名前を取得する必要がある場合は、 Directory.GetFileSystemEntries 代わりにメソッド。たとえば、次のコードは、指定されたディレクトリに存在するすべてのファイルとサブディレクトリを任意の拡張子で再帰的に一覧表示します。

コードをダウンロード

2.使用する DirectoryInfo.GetFiles() 方法

または、 DirectoryInfo.GetFiles() 現在のディレクトリ内のファイルのリストを返すメソッド。作業コードは次のとおりです。

コードをダウンロード

 
以下のような Directory.GetFiles()DirectoryInfo.GetFiles() メソッドは、検索パターンを受け入れるようにオーバーロードされています。次の例では、指定されたディレクトリ内のすべてのファイルが返されます。 .png 拡大。

コードをダウンロード

 
を指定することで、検索操作をすべてのサブディレクトリに拡張できます。 SearchOption.AllDirectories オプション。次のコードは、指定されたディレクトリとそのすべてのサブディレクトリ内のすべてのファイルを一覧表示します。

コードをダウンロード

3.カスタムルーチン

最後に、ソース ディレクトリのすべてのサブディレクトリを含むように検索を拡張するカスタム ルーチンを作成することもできます。 SearchOption.AllDirectories のオプション Directory.GetFiles() 方法。アイデアは、現在のディレクトリ内のファイルを反復処理して処理することです。ディレクトリにサブディレクトリが含まれている場合は、これを再帰的に行います。

コードをダウンロード

以上で、C# のディレクトリ内のすべてのファイルを一覧表示できます。