Sdílet prostřednictvím


FileSystemWatcher Konstruktory

Definice

Inicializuje novou instanci FileSystemWatcher třídy.

Přetížení

Name Description
FileSystemWatcher()

Inicializuje novou instanci FileSystemWatcher třídy.

FileSystemWatcher(String)

Inicializuje novou instanci FileSystemWatcher třídy vzhledem k zadanému adresáři pro monitorování.

FileSystemWatcher(String, String)

Inicializuje novou instanci FileSystemWatcher třídy vzhledem k zadanému adresáři a typu souborů, které chcete monitorovat.

FileSystemWatcher()

Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs

Inicializuje novou instanci FileSystemWatcher třídy.

public:
 FileSystemWatcher();
public FileSystemWatcher();
Public Sub New ()

Příklady

Následující příklad vytvoří FileSystemWatcher objekt, který bude sledovat adresář zadaný za běhu. Objekt FileSystemWatcher sleduje změny v LastWrite čase a LastAccess čase a při vytváření, odstraňování nebo přejmenování textových souborů v adresáři. Pokud se soubor změní, vytvoří nebo odstraní, zobrazí se v konzole cesta k souboru. Při přejmenování souboru se staré a nové cesty zobrazí v konzole.

Tento příklad používá obory System.Diagnostics názvů a System.IO obory názvů.

using System;
using System.IO;

namespace MyNamespace
{
    class MyClassCS
    {
        static void Main()
        {
            using var watcher = new FileSystemWatcher(@"C:\path\to\folder");

            watcher.NotifyFilter = NotifyFilters.Attributes
                                 | NotifyFilters.CreationTime
                                 | NotifyFilters.DirectoryName
                                 | NotifyFilters.FileName
                                 | NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.Security
                                 | NotifyFilters.Size;

            watcher.Changed += OnChanged;
            watcher.Created += OnCreated;
            watcher.Deleted += OnDeleted;
            watcher.Renamed += OnRenamed;
            watcher.Error += OnError;

            watcher.Filter = "*.txt";
            watcher.IncludeSubdirectories = true;
            watcher.EnableRaisingEvents = true;

            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Changed)
            {
                return;
            }
            Console.WriteLine($"Changed: {e.FullPath}");
        }

        private static void OnCreated(object sender, FileSystemEventArgs e)
        {
            string value = $"Created: {e.FullPath}";
            Console.WriteLine(value);
        }

        private static void OnDeleted(object sender, FileSystemEventArgs e) =>
            Console.WriteLine($"Deleted: {e.FullPath}");

        private static void OnRenamed(object sender, RenamedEventArgs e)
        {
            Console.WriteLine($"Renamed:");
            Console.WriteLine($"    Old: {e.OldFullPath}");
            Console.WriteLine($"    New: {e.FullPath}");
        }

        private static void OnError(object sender, ErrorEventArgs e) =>
            PrintException(e.GetException());

        private static void PrintException(Exception? ex)
        {
            if (ex != null)
            {
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine("Stacktrace:");
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine();
                PrintException(ex.InnerException);
            }
        }
    }
}
Imports System.IO

Namespace MyNamespace

    Class MyClassVB

        Shared Sub Main()
            Using watcher = New FileSystemWatcher("C:\path\to\folder")
                watcher.NotifyFilter = NotifyFilters.Attributes Or
                                       NotifyFilters.CreationTime Or
                                       NotifyFilters.DirectoryName Or
                                       NotifyFilters.FileName Or
                                       NotifyFilters.LastAccess Or
                                       NotifyFilters.LastWrite Or
                                       NotifyFilters.Security Or
                                       NotifyFilters.Size

                AddHandler watcher.Changed, AddressOf OnChanged
                AddHandler watcher.Created, AddressOf OnCreated
                AddHandler watcher.Deleted, AddressOf OnDeleted
                AddHandler watcher.Renamed, AddressOf OnRenamed
                AddHandler watcher.Error, AddressOf OnError

                watcher.Filter = "*.txt"
                watcher.IncludeSubdirectories = True
                watcher.EnableRaisingEvents = True

                Console.WriteLine("Press enter to exit.")
                Console.ReadLine()
            End Using
        End Sub

        Private Shared Sub OnChanged(sender As Object, e As FileSystemEventArgs)
            If e.ChangeType <> WatcherChangeTypes.Changed Then
                Return
            End If
            Console.WriteLine($"Changed: {e.FullPath}")
        End Sub

        Private Shared Sub OnCreated(sender As Object, e As FileSystemEventArgs)
            Dim value As String = $"Created: {e.FullPath}"
            Console.WriteLine(value)
        End Sub

        Private Shared Sub OnDeleted(sender As Object, e As FileSystemEventArgs)
            Console.WriteLine($"Deleted: {e.FullPath}")
        End Sub

        Private Shared Sub OnRenamed(sender As Object, e As RenamedEventArgs)
            Console.WriteLine($"Renamed:")
            Console.WriteLine($"    Old: {e.OldFullPath}")
            Console.WriteLine($"    New: {e.FullPath}")
        End Sub

        Private Shared Sub OnError(sender As Object, e As ErrorEventArgs)
            PrintException(e.GetException())
        End Sub

        Private Shared Sub PrintException(ex As Exception)
            If ex IsNot Nothing Then
                Console.WriteLine($"Message: {ex.Message}")
                Console.WriteLine("Stacktrace:")
                Console.WriteLine(ex.StackTrace)
                Console.WriteLine()
                PrintException(ex.InnerException)
            End If
        End Sub

    End Class

End Namespace

Poznámky

Nelze sledovat vzdálený počítač, který nemá systém Windows NT nebo Windows 2000. Nelze sledovat vzdálený počítač se systémem Windows NT 4.0 z počítače se systémem Windows NT 4.0.

V následující tabulce jsou uvedeny počáteční hodnoty vlastností pro instanci FileSystemWatcher.

Vlastnictví Počáteční hodnota
NotifyFilter bitové or kombinace LastWrite, FileNamea DirectoryName
EnableRaisingEvents false
Filter "*.*" (Sledujte všechny soubory.)
IncludeSubdirectories false
InternalBufferSize 8192
Path prázdný řetězec ("")

Poznámka:

Komponenta nebude sledovat zadaný adresář, dokud Path není nastaven a EnableRaisingEvents je true.

Viz také

Platí pro

FileSystemWatcher(String)

Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs

Inicializuje novou instanci FileSystemWatcher třídy vzhledem k zadanému adresáři pro monitorování.

public:
 FileSystemWatcher(System::String ^ path);
public FileSystemWatcher(string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)

Parametry

path
String

Adresář, který chcete monitorovat, ve standardním nebo univerzálním zápisu UNC (Universal Naming Convention).

Výjimky

Parametr path je null.

Parametr path je prázdný řetězec ("").

nebo

Cesta zadaná prostřednictvím parametru path neexistuje.

path je příliš dlouhá.

Poznámky

Poznámka:

Komponenta nebude sledovat zadaný adresář, dokud Path není nastaven a EnableRaisingEvents je true.

Komponenta může sledovat soubory na vašem osobním počítači, na síťové jednotce nebo na vzdáleném počítači.

Nelze sledovat vzdálený počítač, který nemá systém Windows NT nebo Windows 2000. Nelze sledovat vzdálený počítač se systémem Windows NT 4.0 z počítače se systémem Windows NT 4.0. Vlastnost je ve výchozím nastavení nastavená Filter tak, aby sledovala všechny soubory.

Viz také

Platí pro

FileSystemWatcher(String, String)

Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs
Zdroj:
FileSystemWatcher.cs

Inicializuje novou instanci FileSystemWatcher třídy vzhledem k zadanému adresáři a typu souborů, které chcete monitorovat.

public:
 FileSystemWatcher(System::String ^ path, System::String ^ filter);
public FileSystemWatcher(string path, string filter);
new System.IO.FileSystemWatcher : string * string -> System.IO.FileSystemWatcher
Public Sub New (path As String, filter As String)

Parametry

path
String

Adresář, který chcete monitorovat, ve standardním nebo univerzálním zápisu UNC (Universal Naming Convention).

filter
String

Typ souborů, které se mají sledovat. Například "*.txt" sleduje změny ve všech textových souborech.

Výjimky

Parametr path je null.

nebo

Parametr filter je null.

Parametr path je prázdný řetězec ("").

nebo

Cesta zadaná prostřednictvím parametru path neexistuje.

path je příliš dlouhá.

Poznámky

Poznámka:

Komponenta nebude sledovat zadaný adresář, dokud Path není nastaven a EnableRaisingEvents je true.

Komponenta může sledovat soubory na vašem osobním počítači, na síťové jednotce nebo na vzdáleném počítači.

Nelze sledovat vzdálený počítač, který nemá systém Windows NT nebo Windows 2000. Nelze sledovat vzdálený počítač se systémem Windows NT 4.0 z počítače se systémem Windows NT 4.0.

Viz také

Platí pro