文件按文件名模式存在
我在用:
File.Exists(filepath)
我想要做的是把这个模式转换出来,因为文件名的第一部分会改变。
例如:文件可能是
01_peach.xml 02_peach.xml 03_peach.xml
我怎样才能检查文件是否存在基于某种search模式?
你可以用一个模式做一个目录列表来检查文件
string[] files = System.IO.Directory.GetFiles(path, "*_peach.xml", System.IO.SearchOption.TopDirectoryOnly); if (files.Length > 0) { //file exist }
如果您使用.net framework 4或更高版本,则可以使用Directory.EnumerateFiles
bool exist = Directory.EnumerateFiles(path, "*_peach.xml").Any();
这可能比使用Directory.GetFiles
更有效,因为你避免遍历整个文件列表。
使用System.IO.DirectoryInfo.GetFiles()获取所有匹配文件的列表
另请参阅SO问题:
.net应用程序是否有通配符扩展选项?
如何检查文件名是否匹配通配符模式
和其他许多人
// See if this file exists in the C:\ directory. if(File.Exists(@"C:\filename.extention")) { Console.WriteLine("Good luck! I am here."); } else { Console.WriteLine("Ah! I am not appear"); }