.NET Core文件系统与配置选项
常用的文件系统:文件读取大概有: 配置文件 ,web应用的静态资源,直接编译到程序集里面的内嵌资源 等!操作这些资源都有一个文件提供者对象,这个对象构建了一个抽象的文件系统,还可以监控文件的变化!
抽象的文件系统:
是由IFileProvider对象构建出来的,层次化的目录结构!(抽象的)不是实际存在的!树形结构!
如何使用IFileProvider
demo结构:
使用IFileProvider 演示:
public static class Sample01
{
public static void Run()
{
var provider = new ServiceCollection()
.AddSingleton
.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("");
}
}
}
}