FileSystemWatcher Konstruktorer

Definition

Initierar en ny instans av FileSystemWatcher klassen.

Överlagringar

Name Description
FileSystemWatcher()

Initierar en ny instans av FileSystemWatcher klassen.

FileSystemWatcher(String)

Initierar en ny instans av FileSystemWatcher klassen, givet den angivna katalogen som ska övervakas.

FileSystemWatcher(String, String)

Initierar en ny instans av FileSystemWatcher klassen, med tanke på den angivna katalogen och typen av filer som ska övervakas.

FileSystemWatcher()

Initierar en ny instans av FileSystemWatcher klassen.

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

Exempel

I följande exempel skapas ett FileSystemWatcher objekt för att titta på katalogen som anges vid körning. Objektet FileSystemWatcher söker efter ändringar i LastWrite och LastAccess tider och för att skapa, ta bort eller byta namn på textfiler i katalogen. Om en fil ändras, skapas eller tas bort visas sökvägen till filen i konsolen. När en fil har bytt namn visas de gamla och nya sökvägarna i konsolen.

I det System.Diagnostics här exemplet används namnrymderna och System.IO .

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

Kommentarer

Du kan inte titta på en fjärrdator som inte har Windows NT eller Windows 2000. Du kan inte titta på en fjärransluten Windows NT 4.0-dator från en Windows NT 4.0-dator.

I följande tabell visas inledande egenskapsvärden för en instans av FileSystemWatcher.

Property Initialt värde
NotifyFilter bitwise OR-kombination av LastWrite, FileNameoch DirectoryName
EnableRaisingEvents false
Filter "*.*" (Titta på alla filer.)
IncludeSubdirectories false
InternalBufferSize 8192
Path tom sträng ("")

Note

Komponenten tittar inte på den angivna katalogen förrän den Path har angetts och EnableRaisingEvents är true.

Se även

Gäller för

FileSystemWatcher(String)

Initierar en ny instans av FileSystemWatcher klassen, givet den angivna katalogen som ska övervakas.

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

Parametrar

path
String

Katalogen som ska övervakas i UNC-notation (Standard eller Universal Naming Convention).

Undantag

Parametern path är null.

Parametern path är en tom sträng ("").

-eller-

Sökvägen som anges via parametern path finns inte.

path är för lång.

Kommentarer

Note

Komponenten tittar inte på den angivna katalogen förrän den Path har angetts och EnableRaisingEvents är true.

Komponenten kan titta på filer på din personliga dator, en nätverksenhet eller en fjärrdator.

Du kan inte titta på en fjärrdator som inte har Windows NT eller Windows 2000. Du kan inte titta på en fjärransluten Windows NT 4.0-dator från en Windows NT 4.0-dator. Egenskapen Filter anges som standard för att titta på alla filer.

Se även

Gäller för

FileSystemWatcher(String, String)

Initierar en ny instans av FileSystemWatcher klassen, med tanke på den angivna katalogen och typen av filer som ska övervakas.

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)

Parametrar

path
String

Katalogen som ska övervakas i UNC-notation (Standard eller Universal Naming Convention).

filter
String

Typ av filer att titta på. "*.txt" söker till exempel efter ändringar i alla textfiler.

Undantag

Parametern path är null.

-eller-

Parametern filter är null.

Parametern path är en tom sträng ("").

-eller-

Sökvägen som anges via parametern path finns inte.

path är för lång.

Kommentarer

Note

Komponenten tittar inte på den angivna katalogen förrän den Path har angetts och EnableRaisingEvents är true.

Komponenten kan titta på filer på din personliga dator, en nätverksenhet eller en fjärrdator.

Du kan inte titta på en fjärrdator som inte har Windows NT eller Windows 2000. Du kan inte titta på en fjärransluten Windows NT 4.0-dator från en Windows NT 4.0-dator.

Se även

Gäller för