你的位置:首页 > 软件开发 > ASP.net > .NET Core的文件系统[2]:FileProvider是个什么东西?

.NET Core的文件系统[2]:FileProvider是个什么东西?

发布时间:2016-07-27 09:00:14
在《读取并监控文件的变化》中,我们通过三个简单的实例演示从编程的角度对文件系统做了初步的体验,接下来我们继续从设计的角度来继续认识它。这个抽象的文件系统以目录的形式来组织文件,我们可以利用它读取某个文件的内容,还可以对目标文件试试监控并捕捉它的变化。这些基本的功能均由相应的Fil ...

.NET Core的文件系统[2]:FileProvider是个什么东西?

在《读取并监控文件的变化》中,我们通过三个简单的实例演示从编程的角度对文件系统做了初步的体验,接下来我们继续从设计的角度来继续认识它。这个抽象的文件系统以目录的形式来组织文件,我们可以利用它读取某个文件的内容,还可以对目标文件试试监控并捕捉它的变化。这些基本的功能均由相应的FileProvider来提供,从某种意义上讲FileProvider代表了整个文件系统。[ 本文已经同步到《get='_blank'>ASP.NET Core框架揭秘》之中]

目录

IFileProvider的GetFileInfo方法根据指定的路径得到表示所在文件的FileInfo对象,一般来说,这个路径应该是相对应当前FileProvider的相对路径。换句话说,虽然FileInfo可以用于描述目录和文件,但是GetFileInfo方法的目的在于得到指定路径返回的文件而不是目录。当我们调用这个方法的时候,不论我们指定的路径是否存在,该方法总是返回一个具体的FileInfo对象。即使我们指定的路径对应着一个具体的目录,这个FileInfo对象的IsDirectory也总是返回False(它的Exists属性也返回False)。

三、DirectoryContents & GetDirectoryContents方法

如果我们希望得到某个目录的内容,即多少文件或者子目录包含在这个目录下,我们可以调用指定所在目录的路径作为参数调用FileProvider的GetDirectoryContents,目录内容通过该方法返回的DirectoryContents对象来表示。DirectoryContents是对所有实现了具有如下定义的IDirectoryContents接口的所有类型以及对应对象的统称。一个DirectoryContents对象实际上表示一个FileInfo的集合,组成这个集合的所有FileInfo自然就是对所有文件和子目录的描述。和GetFileInfo方法一样,不论指定的目录是否存在,GetDirectoryContents方法总是会返回一个具体的DirectoryContents对象,它的Exists属性会帮助我们确定指定目录是否存在。

  1: public interface IDirectoryContents : IEnumerable<IFileInfo>
  2: {
  3:   bool Exists { get; }
  4: }


原标题:.NET Core的文件系统[2]:FileProvider是个什么东西?

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。