web-dev-qa-db-ja.com

ファイルはファイル名パターンで存在します

使っています:

File.Exists(filepath)

ファイル名の最初の部分が変更されるため、私がやりたいのは、これをパターンに置き換えることです。

例:ファイルは

01_Peach.xml
02_Peach.xml
03_Peach.xml

何らかの検索パターンに基づいてファイルが存在するかどうかを確認するにはどうすればよいですか?

71
JL.

ファイルをチェックするパターンでディレクトリリストを実行できます。

string[] files = System.IO.Directory.GetFiles(path, "*_Peach.xml", System.IO.SearchOption.TopDirectoryOnly);
if (files.Length > 0)
{
    //file exist
}
113
monkey_p

.net framework 4以降を使用している場合は、 Directory.EnumerateFiles を使用できます。

bool exist = Directory.EnumerateFiles(path, "*_Peach.xml").Any();

これは、ファイルリスト全体を反復処理することを避けるため、Directory.GetFilesを使用するよりも効率的です。

60
Claudio Redi
5
Mitch Wheat