获取指定目录下的子目录

根据不同的需求选择不同的方法 获取指定目录下的子目录操作类有两个选择: Directory : 静态类,对文件夹的操作单一时选择; DirectoryInfo :动态类,对文件夹有多种不同操作时选择; 方法也有两种选择: GetDirectories() :需要等所有子目录都准备好才能进行操作,返回结果为数组类型,一般子目录数量不大时使用; EnumerateDirectories() :.net 4.0 后增加,更高效,无需等待子目录准备好就可以进行操作,返回结果为 IEnumerate<T> 类型,子目录数量巨大时优先使用; 注意:Directory 调用方法时,关键类型是 string;DirectoryInfo 则是 DirectoryInfo 类型; 上述两个方法都有 3 个重载,分别是: 返回当前目录下所有子目录 (默认,不处理子目录); 按通配符返回自定目录 (只支持 * 和 ?); 按通配符返回所有子目录 (所有层级) 获取指定目录下的子目录 测试目录结构: 处理代码: 结果: 默认只会返回 test 当前目录下的子目录: 返回当前目录下的包含 ”test“ 的目录: 返回所有层级包含 ”test“ 的目录: 返回所有子目录: 关于获取文件部分,请参考:C# 获取指定目录下的文件

C# 获取指定目录下的文件

使用到的类 DirectoryInfo 和 Directory,后者提供静态方法,可以直接使用; 对同一文件有多种操作时,可以使用 DirectoryInfo; 对文件的操作单一时,就是用 Directory 默认方式获取目录下的所有文件 C# 获取指定目录下的文件 使用 GetFiles() 方法,默认只返回当前目录下的文件,不处理子文件夹,该方法有三种重载: GetFiles() 不带参数,按默认返回 GetFiles(string pattern) 使用通配符返回指定文件,该模式只支持 * 和 ?作为通配符,不支持正则表达式(* 表示匹配多个字符,? 表示匹配一个字符) GetFiles(string pattern, SearchOptions option) 也支持通配符,SearchOptions 选择 AllDirectories 时,会返回子目录下的文件 注意: DirectoryInfo 返回的结果是 FileInfo 类型的数组; Directory 返回的结果则是 string 类型的数组 SearchOptions 类型 源代码如下: 枚举类型,控制只处理当前目录,还是会一并处理子目录 测试目录: D:\test\ 目录下 Directory 例子 默认返回当前目录所有文件 输出 files 结果为: 根据通配符返回结果: […]