.NET Core文件系统与配置选项


 常用的文件系统:文件读取大概有: 配置文件 ,web应用的静态资源,直接编译到程序集里面的内嵌资源 等!操作这些资源都有一个文件提供者对象,这个对象构建了一个抽象的文件系统,还可以监控文件的变化!

  抽象的文件系统:

       是由IFileProvider对象构建出来的,层次化的目录结构!(抽象的)不是实际存在的!树形结构!

       如何使用IFileProvider 

       demo结构:

       

      使用IFileProvider 演示:

public static class Sample01
{
  public static void Run()
  {
  var provider = new ServiceCollection()
   .AddSingleton(new PhysicalFileProvider(@"e:\其它"))
  .AddSingleton()
   .BuildServiceProvider();
   var fileManager = provider.GetService();
   fileManager.Dir();
  }

  public class FileManager
  {
   private readonly IFileProvider _fileProvider;
   public FileManager(IFileProvider fileProvider)
   {
   _fileProvider = fileProvider;
   }

  public void Dir()
  {
  var indent = -1;

  void Get(string subpath)
  {
  indent++;
  foreach (var fileinfo in _fileProvider.GetDirectoryContents(subpath))
  {
   Console.WriteLine(new string('\t',indent) + fileinfo.Name);
     if (fileinfo.IsDirectory)
     {
     Get($@"{subpath}\{fileinfo.Name}");
     }
   }
  }

    Get("");

   }
  }
 }
}