文件以文件名模式存在

JL.*_*JL. 71 .net c# .net-2.0

我在用:

File.Exists(filepath)
Run Code Online (Sandbox Code Playgroud)

我想要做的是将其转换为模式,因为文件名的第一部分会发生变化.

例如:文件可以是

01_peach.xml
02_peach.xml
03_peach.xml
Run Code Online (Sandbox Code Playgroud)

如何根据某种搜索模式检查文件是否存在?

mon*_*y_p 113

您可以使用模式执行目录列表以检查文件

string[] files = System.IO.Directory.GetFiles(path, "*_peach.xml", System.IO.SearchOption.TopDirectoryOnly);
if (files.Length > 0)
{
    //file exist
}
Run Code Online (Sandbox Code Playgroud)


Cla*_*edi 60

如果您使用.net框架4或更高版本,则可以使用 Directory.EnumerateFiles

bool exist = Directory.EnumerateFiles(path, "*_peach.xml").Any();
Run Code Online (Sandbox Code Playgroud)

这可能比使用更有效,Directory.GetFiles因为您避免通过整个文件列表进行迭代.

  • @Kostadin:之前错过了回答...他不想让所有文件都符合模式,他想知道是否有任何文件 (2认同)