Beispiel #1
0
        public void Test1()
        {
            string        pattern = FileSystem.Temp.Path.Replace('\\', '/') + "**.dat*";
            IFileProvider fp      = new PhysicalFileProvider(FileSystem.Temp.Path);
            IFileSystem   fs      = fp.ToFileSystem();
            FileScanner   scanner = new FileScanner(fs)
                                    .SetReturnDirectories(false)
                                    .SetReturnFiles(true)
                                    .AddGlobPattern("mydir/**.dat*");

            IEntry[] entries = scanner.ToArray();
            IEntry   e       = fs.GetEntry("mydir/helloworld.dat1");
        }
        public static void Main(string[] args)
        {
            {
                #region Snippet_1
                IFileSystem fs = new PhysicalFileProvider(@"C:\Users").ToFileSystem();
                #endregion Snippet_1
            }
            {
                #region Snippet_2
                IFileProvider fp = new PhysicalFileProvider(@"C:\");
                IFileSystem   fs = fp.ToFileSystem(
                    canBrowse: true,
                    canObserve: true,
                    canOpen: true);
                #endregion Snippet_2

                foreach (var line in fs.VisitTree(depth: 2))
                {
                    Console.WriteLine(line);
                }
            }
            {
                #region Snippet_3
                IFileProvider         fp         = new PhysicalFileProvider(@"C:\Users");
                IFileSystemDisposable filesystem = fp.ToFileSystem().AddDisposable(fp);
                #endregion Snippet_3
            }
            {
                #region Snippet_4
                IFileSystemDisposable filesystem = new PhysicalFileProvider(@"C:\Users")
                                                   .ToFileSystem()
                                                   .AddDisposeAction(fs => fs.FileProviderDisposable?.Dispose());
                #endregion Snippet_4
            }
            {
                #region Snippet_5
                using (var fs = new PhysicalFileProvider(@"C:\Users")
                                .ToFileSystem()
                                .AddDisposeAction(f => f.FileProviderDisposable?.Dispose()))
                {
                    fs.Browse("");

                    // Post pone dispose at end of using()
                    IDisposable belateDisposeHandle = fs.BelateDispose();
                    // Start concurrent work
                    Task.Run(() =>
                    {
                        // Do work
                        Thread.Sleep(100);
                        fs.GetEntry("");

                        // Release the belate dispose handle
                        // FileSystem is actually disposed here
                        // provided that the using block has exited
                        // in the main thread.
                        belateDisposeHandle.Dispose();
                    });

                    // using() exists here and starts the dispose fs
                }
                #endregion Snippet_5
            }

            {
                #region Snippet_6
                IFileSystem fs = new PhysicalFileProvider(@"C:\Users").ToFileSystem();
                foreach (var line in fs.VisitTree(depth: 2))
                {
                    Console.WriteLine(line);
                }
                #endregion Snippet_6
            }

            {
                #region Snippet_7
                IFileSystem        fs       = new PhysicalFileProvider(@"C:\Users").ToFileSystem();
                IObserver <IEvent> observer = new Observer();
                using (IDisposable handle = fs.Observe("**", observer))
                {
                }
                #endregion Snippet_7
            }
        }