C#中,使用 DirectoryInfo 的 GetFiles 提取文件,如何提取多种文件

现在能提到某种指定的文件如GetFiles("*.doc");但是如果想同时提取多种类型的如何做呢,例如:doctxtrarzip试过GetFiles("*.doc|*.... 现在能提到某种指定的文件 如 GetFiles("*.doc");
但是如果想同时提取多种类型的如何做呢,例如:doc txt rar zip
试过 GetFiles("*.doc|*.txt|*.zip|*.rar");
但是提示 路径中具有非法字符
请问如何解决
展开
 我来答
cockermu
推荐于2018-09-14 · TA获得超过442个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:93.9万
展开全部
DirectoryInfo的GetFiles() 一次只能传递一种格式的参数
/// <summary>
/// C#获取一种指定类型文件
/// </summary>
/// <param name="filePath">路径</param>
private void GetFiles(string filePath)
{
  DirectoryInfo di = new DirectoryInfo(filePath);
  FileInfo[] afi = di.GetFiles("*.dat");
}
如果要获取多种格式文件请使用以下方法:
  /// <summary>
  /// C#获取指定目录下多种指定类型文件
  /// </summary>
  /// <param name="filePath">路径</param>
  public List<string> GetVideoFiles(string filePath)
  {
    DirectoryInfo di = new DirectoryInfo(filePath);
    FileInfo[] files= di.GetFiles();
    string fileName;
    List<string> list = new List<string>();
    for (int i = 0; i < files.Length; i++)
    {
      fileName = files[i].Name.ToLower();
      if (fileName.EndsWith(".gif") || fileName.EndsWith(".jpg"))
      {
        list.Add(fileName);
      }
    }
    return list;
  }
dyMUDIAO
2011-05-03 · TA获得超过195个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:194万
展开全部
通过遍历方式获取,遍历中判断文件格式是否包含在".doc|.txt|.zip|.rar"即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
923921
推荐于2017-11-24 · TA获得超过219个赞
知道答主
回答量:68
采纳率:0%
帮助的人:36万
展开全部
只能一个个读取,比如:
System.IO.FileInfo[] fimore = di.GetFiles("*.jpg");
...
fimore = di.GetFiles("*.bmp");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csd314
2011-05-05 · TA获得超过493个赞
知道小有建树答主
回答量:730
采纳率:50%
帮助的人:550万
展开全部
没有内置这个功能,你可以自己写一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式