File provider for physical files for Microsoft.Extensions.FileProviders.
$ dotnet add package Microsoft.Extensions.FileProviders.PhysicalProvides an implementation of a physical file provider, facilitating file access and monitoring on the disk. The primary type, PhysicalFileProvider, enables the lookup of files on disk and can watch for changes either via FileSystemWatcher or polling mechanisms.
FileSystemWatcher or through polling.This library can be used to look up files on disk and monitor file changes effectively.
Below is an example of how to use the PhysicalFileProvider to access files on disk and monitor changes:
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.FileProviders.Physical;
using var provider = new PhysicalFileProvider(AppContext.BaseDirectory);
Environment.SetEnvironmentVariable("DOTNET_USE_POLLING_FILE_WATCHER", "1");
var contents = provider.GetDirectoryContents(string.Empty);
foreach (PhysicalFileInfo fileInfo in contents)
{
Console.WriteLine(fileInfo.PhysicalPath);
}
var changeToken = provider.Watch("*.txt");
changeToken.RegisterChangeCallback(_ => Console.WriteLine("Text file changed"), null);
Console.ReadLine();
The main types provided by this library are:
Microsoft.Extensions.FileProviders.PhysicalFileProviderMicrosoft.Extensions.FileProviders.PhysicalDirectoryInfoMicrosoft.Extensions.FileProviders.PhysicalFileInfoMicrosoft.Extensions.FileProviders.Physical is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.