在开发过程中,有时候需要取得目录下的文件或数据夹进行处理,在 .NET 中有一些好用的类可以进行这些工作。
在使用之前最好在多花五分钟看一下文档,才不会像我以前一样自以为聪明其实是绕了远路…
需求有时候是要取得目录下的文件,有时候是要取得数据夹,有时候是要取得所有文件。
一开始使用 Directory 类底下的 GetFiles 与 GetDirectories 两个方法,于是我写出了类似底下的程序…
只能说小时候不懂事,只求做出结果的硬干,如果当初多花点时间看文档的话就可以少绕点远路!
在 .NET 中有 Directory 与 DirectoryInfo 两个类可以取得目录下文件与数据夹的列表,两者相似度非常高。
1、Directory 类
1.1 GetFiles 方法
Directory 类下有三个 GetFiles 重载方法,方法参数如下:
- path:目录。
- searchPattern:对应文件名称的筛选字符。
- 可搭配“*”、“?”使用。
- searchOption:搜寻选项。
- 选择仅只搜寻目前目录或是包含子目录。
可以发现,前面写的 GetAllFiles 方法其实使用 searchOption 就可以达到目的…
1.2 GetDirectories 方法
Directory 类下有三个 GetDirectories 重载方法,方法参数如下:
- path:目录。
- searchPattern:对应数据夹名称的筛选字符。
- 可搭配“*”、“?”使用。
- searchOption:搜寻选项。
- 选择仅只搜寻目前目录或是包含子目录。
2、DirectoryInfo 类
2.1 GetFiles 方法
DirectoryInfo 类下有三个 GetFiles 重载方法,方法参数如下:
- searchPattern:对应文件名称的筛选字符。
- 可搭配“*”、“?”使用。
- searchOption:搜寻选项。
- 选择仅只搜寻目前目录或是包含子目录。
2.2 GetDirectories 方法
DirectoryInfo 类下有三个 GetDirectories 重载方法,方法参数如下:
- searchPattern:对应数据夹名称的筛选字符。
- 可搭配“*”、“?”使用。
- searchOption:搜寻选项。
- 选择仅只搜寻目前目录或是包含子目录。
- :Source Code
- MSDN:Directory
- MSDN:DirectoryInfo
尝试将自己的理解写成文字纪录,数据来源均来自于网络。
如有理解错误、引用错误或侵权,请多加指正与告知,让我有更多的进步与改进的空间,谢谢!