使用多个搜索字符串获取指定目录中的文件
2013-03-21 23:25
489 查看
这两天在乱写一个小程序,其中一个功能要获取指定目录中的文件.
这个功能大家一看想必就知道怎么写了. Directory.GetFiles 方法嘛
之前没了解或不熟悉的猿儿们自己再去MSDN资源库复习一遍吧.
现在又有了新的需求.RT. 我想通过多个搜索字符串筛选文件. 举例: 我想同时筛选mp3和jpg的图片.要怎么办呢?
刚开始我想到的是 声明一个搜索字符串集合,循环此集合,根据搜索字符串筛选添加. 示例代码:
接着又想到的是 声明一个扩展名集合,循环获取指定目录所有文件.
判断扩展名集合是否包含文件扩展名匹配筛选. 示例代码:
后来又google了下.搜到了在stackoverflow上一个人的提问.
看了下提问日期:2008-10-02. 心里那个汗啊...大多数人赞同的结果是:
由于大小写的问题,下面有人补充. 转小写或者忽略大小写...
原文链接:Can you call Directory.GetFiles() with multiple filters?
以上代码均未编译测试....
另说这个标题命名让我十分纠结,现在这个读起来感觉想当别扭..又没想到可读性强的.暂定吧
欢迎指出错误,交流学习.
这个功能大家一看想必就知道怎么写了. Directory.GetFiles 方法嘛
名称 | 说明 |
---|---|
Directory.GetFiles (String) | 返回指定目录中的文件的名称。由 .NET Compact Framework 支持。 |
Directory.GetFiles (String, String) | 返回指定目录中与指定搜索模式匹配的文件的名称。由 .NET Compact Framework 支持。 |
Directory.GetFiles (String, String, SearchOption) | 返回指定目录中文件的名称,该目录与指定搜索模式匹配并使用某个值确定是否在子目录中搜索。 |
现在又有了新的需求.RT. 我想通过多个搜索字符串筛选文件. 举例: 我想同时筛选mp3和jpg的图片.要怎么办呢?
刚开始我想到的是 声明一个搜索字符串集合,循环此集合,根据搜索字符串筛选添加. 示例代码:
const string strFolderPath = "D:\\fuckgfw"; var lstFiles = new List<string>(); var lstFilters = new List<string>{ "*.mp3", "*.jpg" }; foreach (var filter in lstFilters){ lstFiles.AddRange(Directory.GetFiles(strFolderPath, filter)); }
接着又想到的是 声明一个扩展名集合,循环获取指定目录所有文件.
判断扩展名集合是否包含文件扩展名匹配筛选. 示例代码:
var lstExtensions = new List<string>{ ".mp3", ".jpg" }; var lstFiles = Directory.GetFiles(strFolderPath).Where(file => lstExtensions.Contains(Path.GetExtension(file))).ToList();
后来又google了下.搜到了在stackoverflow上一个人的提问.
看了下提问日期:2008-10-02. 心里那个汗啊...大多数人赞同的结果是:
var files = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
由于大小写的问题,下面有人补充. 转小写或者忽略大小写...
s.ToLower().Endswith... 或者 s.EndsWith(".mp3", StringComparison.OrdinalIgnoreCase)
原文链接:Can you call Directory.GetFiles() with multiple filters?
以上代码均未编译测试....
另说这个标题命名让我十分纠结,现在这个读起来感觉想当别扭..又没想到可读性强的.暂定吧
欢迎指出错误,交流学习.
相关文章推荐
- 获取文件夹下的文件名生成新的文件&DOC命令想从指定的txt中读出文件名,然后在指定文件夹以及子目录下搜索文件,并拷贝到指定目录
- 如何使用C语言搜索指定目录下的所有文件?
- [Shell]在一个目录及其子目录内的指定类型的文件中搜索某个字符串
- 使用grep搜索目录树中文件的指定内容
- Linux下搜索指定目录下文件中特定字符串并高亮显示匹配关键词
- 使用grep指令在当前目录下所有文件中搜索指定文本
- 使用shell命令sed将指定目录下的所有文件中指定的字符串替换成指定的字符串
- 使用SHELL脚本,sed截取获取文件中指定字符串
- 使用批处理+WMI获取指定文件或目录所在的物理磁盘信息
- java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~
- 使用sh脚本如何替换指定目录下所有文件中的指定字符串
- JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。
- python实操(1):搜索指定目录(文件)下包含指定字符串的文件,及行号
- JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。
- python检索目录下所有文件中包含指定字符串的文件
- 使用FilenameFilter来得到指定文件后缀的文件目录集合
- java文件过滤器(File类listFiles方法可选参数)--获取目录下指定的某类文件
- makefile中的使用 VAPTH 和“自动变量”指定目标文件的存放目录
- LINUX 使用 smbclient 获取windows 共享目录的文件 详解
- Java--获取指定目录下的所有文件