Provides 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.PhysicalFileProvider
Microsoft.Extensions.FileProviders.PhysicalDirectoryInfo
Microsoft.Extensions.FileProviders.PhysicalFileInfo
Microsoft.Extensions.FileProviders.Physical is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.