C#获取文件夹下指定格式的所有文件
2015-11-24 16:13
861 查看
C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用。
对文件扩展名进行筛选时,在这里提供两种写法吧,也都很简单。
获取指定目录下所有文件
//最要使用 System.IO.Directory.GetFiles() 函数 string basepath = "D://"; string[] strDataFiles = Directory.GetFiles(basepath);
对文件扩展名进行筛选时,在这里提供两种写法吧,也都很简单。
常规写法
/// <summary> /// 筛选文件格式 /// </summary> /// <param name="paths">文件列表</param> /// <param name="ex">保留的 格式,多个以逗号隔开(.txt,.jpg)</param> /// <returns></returns> private string[] CheckFileEx(string[] paths, string ex) { List<string> result = new List<string>(); for (int i = 0; i < paths.Length; i++) { int lastex = paths[i].LastIndexOf('.'); string tex = paths[i].Substring(lastex); var blo = false; foreach (string s in ex.Split(',')) { if (tex == s) { blo = true; break; } } if (blo) { result.Add(paths[i]); } } return result.ToArray(); }
Linq写法
/// <summary> /// 筛选文件格式1 /// </summary> /// <param name="paths">文件列表</param> /// <param name="ex">保留的 格式,多个以逗号隔开(.txt,.jpg)</param> /// <returns></returns> private string[] CheckFileEx1(string[] paths, string ex) { return paths.ToList().Where(n => ("," + ex + ",").Replace("," + n.Substring(n.LastIndexOf('.')) + ",", "") != "," + ex + ",").ToArray(); }
相关文章推荐
- c# 生成xml,xsi不能生成问题
- C#引用外部DLL报错未能找到类型或命名空间名称(是否缺少using指令后程序集引用)
- C# LINQ中如何使用split
- C# is和as操作符
- C# 之 AES加密源码
- C#SerialPort通信
- C# XML流操作简单实例
- C#泛型详解
- C# XML,XmlDocument简单操作实例
- c#读取.resx/.resource资源文件
- 轻松学习C#的String类
- C# XML 根级别上的数据无效
- C#开发usb通知之bulk传输
- c# 循环控件 把控件的名称和值 写入xml中
- c#地址
- C#反射的简单示例
- C# 项目第二天
- C# 控件提换
- c# 循环控件 把控件的名称和值 写入xml中
- C# 常用函数