【.NET】取得目录下文件与数据夹

  在开发过程中,有时候需要取得目录下的文件或数据夹进行处理,在 .NET 中有一些好用的类可以进行这些工作。

  在使用之前最好在多花五分钟看一下文档,才不会像我以前一样自以为聪明其实是绕了远路…


  需求有时候是要取得目录下的文件,有时候是要取得数据夹,有时候是要取得所有文件。

  一开始使用 Directory 类底下的 GetFiles 与 GetDirectories 两个方法,于是我写出了类似底下的程序…

01:Error_Sample

  只能说小时候不懂事,只求做出结果的硬干,如果当初多花点时间看文档的话就可以少绕点远路!

  在 .NET 中有 Directory 与 DirectoryInfo 两个类可以取得目录下文件与数据夹的列表,两者相似度非常高。

1、Directory 类

1.1 GetFiles 方法

  Directory 类下有三个 GetFiles 重载方法,方法参数如下:

  • path:目录。
  • searchPattern:对应文件名称的筛选字符。
    • 可搭配“*”、“?”使用。
  • searchOption:搜寻选项。
    • 选择仅只搜寻目前目录或是包含子目录。

  可以发现,前面写的 GetAllFiles 方法其实使用 searchOption 就可以达到目的…

1.2 GetDirectories 方法

  Directory 类下有三个 GetDirectories 重载方法,方法参数如下:

  • path:目录。
  • searchPattern:对应数据夹名称的筛选字符。
    • 可搭配“*”、“?”使用。
  • searchOption:搜寻选项。
    • 选择仅只搜寻目前目录或是包含子目录。
使用 GetDirectories 时,参数 searchPattern 是对最后的数据夹名称作筛选,并不会筛选路径中的数据夹名称。

2、DirectoryInfo 类

2.1 GetFiles 方法

  DirectoryInfo 类下有三个 GetFiles 重载方法,方法参数如下:

  • searchPattern:对应文件名称的筛选字符。
    • 可搭配“*”、“?”使用。
  • searchOption:搜寻选项。
    • 选择仅只搜寻目前目录或是包含子目录。
2.2 GetDirectories 方法

  DirectoryInfo 类下有三个 GetDirectories 重载方法,方法参数如下:

  • searchPattern:对应数据夹名称的筛选字符。
    • 可搭配“*”、“?”使用。
  • searchOption:搜寻选项。
    • 选择仅只搜寻目前目录或是包含子目录。
使用 GetDirectories 时,参数 searchPattern 是对最后的数据夹名称作筛选,并不会筛选路径中的数据夹名称。
  • :Source Code
  • MSDN:Directory
  • MSDN:DirectoryInfo


尝试将自己的理解写成文字纪录,数据来源均来自于网络。

如有理解错误、引用错误或侵权,请多加指正与告知,让我有更多的进步与改进的空间,谢谢!

原文:大专栏  【.NET】取得目录下文件与数据夹


猜你喜欢

转载自www.cnblogs.com/petewell/p/11526658.html