c# 获取路径文件中的多种文件格式的文件

在利用c#开发过程中遇到想要获取某个文件路径的问题,如想获取一个文件夹的所有.mdb的文件则,可以使用如下方法:

 1 public static List<string> GetAllMdbFiles(string mdbPath)
 2         {
 3             if(!Directory.Exists(mdbPath))
 4                 return null;
 5             List<string> mdbList = new List<string>();
 6             string[] list=Directory.GetFiles(mdbPath,"*.mdb",SearchOption.AllDirectories);
 7             if (list.Length == 0 || list == null)
 8                 return null;
 9             for (int i = 0; i < list.Length; i++)
10             {
11                 mdbList.Add(list[i]);
12             }
13             return mdbList;
14         }

如果当前文件夹内只有。mdb类型的文件也就满足要求了,可实际上文件夹中存储的文件格式可能不一定是.mdb,也可能是.gdb格式的,或者是二者共存的情况,那么我们要取得所有指定格式的文件名该如何去做呢?下面引用网上的一段代码:http://topic.csdn.net/u/20090317/10/00646e69-5d3d-43d8-a033-a9c75b069100.html

 private ArrayList GetFiles(string sPath, string[] sPt) //sPath是路径,sPt是文件后缀的数组
        {
            DirectoryInfo dir = new DirectoryInfo(sPath);
            ArrayList Files = new ArrayList();
            FileInfo[] tmp;

            foreach (string s in sPt)
            {
                tmp = dir.GetFiles(s);
                foreach (FileInfo fi in tmp)
                {
                    Files.Add(fi);
                }
            }
            return Files;
        }

受此启发简单改善下开始的源代码

 1   public static List<string> GetAllMdbFiles(string mdbPath,string[]spt)
 2           {
 3               if(!Directory.Exists(mdbPath))
 4                   return null;
 5               List<string> mdbList = new List<string>();
 6                foreach(string s in spt)
 7                {
 8                      string[] list=Directory.GetFiles(mdbPath,s,SearchOption.AllDirectories);
 9                      if (list.Length == 0 || list == null)
10                         continue;
11                      for (int i = 0; i < list.Length; i++)
12                      {
13                        mdbList.Add(list[i]);
14                      }
15                }16                 return mdbList;
17              }
原文地址:https://www.cnblogs.com/daidaigua/p/2466629.html