Compartilhar via


FileSystemWatcher Construtores

Definição

Inicializa uma nova instância da classe FileSystemWatcher.

Sobrecargas

Nome Description
FileSystemWatcher()

Inicializa uma nova instância da classe FileSystemWatcher.

FileSystemWatcher(String)

Inicializa uma nova instância da FileSystemWatcher classe, considerando o diretório especificado a ser monitorado.

FileSystemWatcher(String, String)

Inicializa uma nova instância da FileSystemWatcher classe, considerando o diretório e o tipo de arquivos especificados a serem monitorados.

FileSystemWatcher()

Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs

Inicializa uma nova instância da classe FileSystemWatcher.

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

Exemplos

O exemplo a seguir cria um FileSystemWatcher objeto para observar o diretório especificado em tempo de execução. O FileSystemWatcher objeto observa as alterações dentro LastWrite e LastAccess horas e para a criação, exclusão ou renomeação de arquivos de texto no diretório. Se um arquivo for alterado, criado ou excluído, o caminho para o arquivo será exibido no console. Quando um arquivo é renomeado, os caminhos antigos e novos são exibidos no console.

Este exemplo usa os namespaces e System.IO os System.Diagnostics namespaces.

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

Comentários

Você não pode assistir a um computador remoto que não tenha o Windows NT ou o Windows 2000. Você não pode assistir a um computador windows NT 4.0 remoto de um computador Windows NT 4.0.

A tabela a seguir mostra valores de propriedade iniciais para uma instância de FileSystemWatcher.

Propriedade Valor Inicial
NotifyFilter combinação OR bit a bit de LastWrite, FileNamee DirectoryName
EnableRaisingEvents false
Filter "*.*" (Assista a todos os arquivos.)
IncludeSubdirectories false
InternalBufferSize 8192
Path cadeia de caracteres vazia ("")

Observação

O componente não observará o diretório especificado até que o Path seja definido e EnableRaisingEvents seja true.

Confira também

Aplica-se a

FileSystemWatcher(String)

Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs

Inicializa uma nova instância da FileSystemWatcher classe, considerando o diretório especificado a ser monitorado.

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

Parâmetros

path
String

O diretório a ser monitorado, na notação UNC (Convenção de Nomenclatura Universal ou Padrão).

Exceções

O path parâmetro é null.

O path parâmetro é uma cadeia de caracteres vazia ("").

- ou -

O caminho especificado por meio do path parâmetro não existe.

path é muito longo.

Comentários

Observação

O componente não observará o diretório especificado até que o Path seja definido e EnableRaisingEvents seja true.

O componente pode observar arquivos em seu computador pessoal, uma unidade de rede ou um computador remoto.

Você não pode assistir a um computador remoto que não tenha o Windows NT ou o Windows 2000. Você não pode assistir a um computador windows NT 4.0 remoto de um computador Windows NT 4.0. A Filter propriedade é definida por padrão para observar todos os arquivos.

Confira também

Aplica-se a

FileSystemWatcher(String, String)

Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs
Origem:
FileSystemWatcher.cs

Inicializa uma nova instância da FileSystemWatcher classe, considerando o diretório e o tipo de arquivos especificados a serem monitorados.

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)

Parâmetros

path
String

O diretório a ser monitorado, na notação UNC (Convenção de Nomenclatura Universal ou Padrão).

filter
String

O tipo de arquivos a serem observados. Por exemplo, "*.txt" observa as alterações em todos os arquivos de texto.

Exceções

O path parâmetro é null.

- ou -

O filter parâmetro é null.

O path parâmetro é uma cadeia de caracteres vazia ("").

- ou -

O caminho especificado por meio do path parâmetro não existe.

path é muito longo.

Comentários

Observação

O componente não observará o diretório especificado até que o Path seja definido e EnableRaisingEvents seja true.

O componente pode observar arquivos em seu computador pessoal, uma unidade de rede ou um computador remoto.

Você não pode assistir a um computador remoto que não tenha o Windows NT ou o Windows 2000. Você não pode assistir a um computador windows NT 4.0 remoto de um computador Windows NT 4.0.

Confira também

Aplica-se a