FileSystemWatcher Constructeurs

Définition

Initialise une nouvelle instance de la classe FileSystemWatcher.

Surcharges

FileSystemWatcher()

Initialise une nouvelle instance de la classe FileSystemWatcher.

FileSystemWatcher(String)

Initialise une nouvelle instance de la classe FileSystemWatcher en fonction du répertoire spécifié à surveiller.

FileSystemWatcher(String, String)

Initialise une nouvelle instance de la classe FileSystemWatcher en fonction du répertoire et du type de fichiers à surveiller spécifiés.

FileSystemWatcher()

Initialise une nouvelle instance de la classe FileSystemWatcher.

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

Exemples

L’exemple suivant crée un FileSystemWatcher objet pour regarder le répertoire spécifié au moment de l’exécution. L’objet FileSystemWatcher surveille les changements dans LastWrite et LastAccess les temps, et pour la création, la suppression ou le renommage des fichiers texte dans le répertoire. Si un fichier est modifié, créé ou supprimé, le chemin d’accès au fichier s’affiche sur la console. Lorsqu’un fichier est renommé, les anciens chemins d’accès s’affichent sur la console.

Cet exemple utilise les espaces de noms et System.IO les System.Diagnostics espaces de noms.

#include "pch.h"

using namespace System;
using namespace System::IO;

class MyClassCPP
{
public:

    int static Run()
    {
        FileSystemWatcher^ watcher = gcnew FileSystemWatcher("C:\\path\\to\\folder");

        watcher->NotifyFilter = static_cast<NotifyFilters>(NotifyFilters::Attributes
                                                         | NotifyFilters::CreationTime
                                                         | NotifyFilters::DirectoryName
                                                         | NotifyFilters::FileName
                                                         | NotifyFilters::LastAccess
                                                         | NotifyFilters::LastWrite
                                                         | NotifyFilters::Security
                                                         | NotifyFilters::Size);

        watcher->Changed += gcnew FileSystemEventHandler(MyClassCPP::OnChanged);
        watcher->Created += gcnew FileSystemEventHandler(MyClassCPP::OnCreated);
        watcher->Deleted += gcnew FileSystemEventHandler(MyClassCPP::OnDeleted);
        watcher->Renamed += gcnew RenamedEventHandler(MyClassCPP::OnRenamed);
        watcher->Error   += gcnew ErrorEventHandler(MyClassCPP::OnError);

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

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

        return 0;
    }

private:

    static void OnChanged(Object^ sender, FileSystemEventArgs^ e)
    {
        if (e->ChangeType != WatcherChangeTypes::Changed)
        {
            return;
        }
        Console::WriteLine("Changed: {0}", e->FullPath);
    }

    static void OnCreated(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Created: {0}", e->FullPath);
    }

    static void OnDeleted(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Deleted: {0}", e->FullPath);
    }

    static void OnRenamed(Object^ sender, RenamedEventArgs^ e)
    {
        Console::WriteLine("Renamed:");
        Console::WriteLine("    Old: {0}", e->OldFullPath);
        Console::WriteLine("    New: {0}", e->FullPath);
    }

    static void OnError(Object^ sender, ErrorEventArgs^ e)
    {
        PrintException(e->GetException());
    }

    static void PrintException(Exception^ ex)
    {
        if (ex != nullptr)
        {
            Console::WriteLine("Message: {0}", ex->Message);
            Console::WriteLine("Stacktrace:");
            Console::WriteLine(ex->StackTrace);
            Console::WriteLine();
            PrintException(ex->InnerException);
        }
    }
};


int main()
{
    MyClassCPP::Run();
}
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

Remarques

Vous ne pouvez pas regarder un ordinateur distant qui n’a pas Windows NT ou Windows 2000. Vous ne pouvez pas regarder un ordinateur Windows NT 4.0 distant à partir d’un ordinateur Windows NT 4.0.

Le tableau suivant présente les valeurs de propriété initiales d’une instance de FileSystemWatcher.

Propriété Valeur initiale
NotifyFilter combinaison OR au niveau du bit de LastWrite, FileNameet DirectoryName
EnableRaisingEvents false
Filter "*.*" (Regardez tous les fichiers.)
IncludeSubdirectories false
InternalBufferSize 8 192
Path chaîne vide («  »)

Notes

Le composant ne regardera pas le répertoire spécifié tant que le Path fichier n’est pas défini et EnableRaisingEvents qu’il est true.

Voir aussi

S’applique à

FileSystemWatcher(String)

Initialise une nouvelle instance de la classe FileSystemWatcher en fonction du répertoire spécifié à surveiller.

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

Paramètres

path
String

Répertoire à surveiller, en notation standard ou UNC (Universal Naming Convention).

Exceptions

Le paramètre path a la valeur null.

Le paramètre path est une chaîne vide ("").

  • ou - Le chemin d'accès spécifié via le paramètre path n'existe pas.

path est trop longue.

Remarques

Notes

Le composant ne regardera pas le répertoire spécifié tant que le Path fichier n’est pas défini et EnableRaisingEvents qu’il est true.

Le composant peut regarder des fichiers sur votre ordinateur personnel, un lecteur réseau ou un ordinateur distant.

Vous ne pouvez pas regarder un ordinateur distant qui n’a pas Windows NT ou Windows 2000. Vous ne pouvez pas regarder un ordinateur Windows NT 4.0 distant à partir d’un ordinateur Windows NT 4.0. La Filter propriété est définie par défaut pour surveiller tous les fichiers.

Voir aussi

S’applique à

FileSystemWatcher(String, String)

Initialise une nouvelle instance de la classe FileSystemWatcher en fonction du répertoire et du type de fichiers à surveiller spécifiés.

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)

Paramètres

path
String

Répertoire à surveiller, en notation standard ou UNC (Universal Naming Convention).

filter
String

Type des fichiers à surveiller. Par exemple, "*.txt" permet de surveiller les modifications apportées à tous les fichiers texte.

Exceptions

Le paramètre path a la valeur null.

  • ou - Le paramètre filter a la valeur null.

Le paramètre path est une chaîne vide ("").

  • ou - Le chemin d'accès spécifié via le paramètre path n'existe pas.

path est trop longue.

Remarques

Notes

Le composant ne regardera pas le répertoire spécifié tant que le Path fichier n’est pas défini et EnableRaisingEvents qu’il est true.

Le composant peut regarder des fichiers sur votre ordinateur personnel, un lecteur réseau ou un ordinateur distant.

Vous ne pouvez pas regarder un ordinateur distant qui n’a pas Windows NT ou Windows 2000. Vous ne pouvez pas regarder un ordinateur Windows NT 4.0 distant à partir d’un ordinateur Windows NT 4.0.

Voir aussi

S’applique à