Compartir a través de


FileSystemWatcher Constructores

Definición

Inicializa una nueva instancia de la clase FileSystemWatcher.

Sobrecargas

Nombre Description
FileSystemWatcher()

Inicializa una nueva instancia de la clase FileSystemWatcher.

FileSystemWatcher(String)

Inicializa una nueva instancia de la FileSystemWatcher clase, dado el directorio especificado que se va a supervisar.

FileSystemWatcher(String, String)

Inicializa una nueva instancia de la FileSystemWatcher clase, dado el directorio y el tipo de archivos especificados que se van a supervisar.

FileSystemWatcher()

Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs

Inicializa una nueva instancia de la clase FileSystemWatcher.

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

Ejemplos

En el ejemplo siguiente se crea un FileSystemWatcher objeto para ver el directorio especificado en tiempo de ejecución. El FileSystemWatcher objeto busca cambios en LastWrite y LastAccess horas, y para la creación, eliminación o cambio de nombre de los archivos de texto en el directorio. Si se cambia, crea o elimina un archivo, la ruta de acceso al archivo se muestra en la consola. Cuando se cambia el nombre de un archivo, las rutas de acceso antiguas y nuevas se muestran en la consola.

En este ejemplo se usan los System.Diagnostics espacios de nombres y 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

Comentarios

No puedes ver un equipo remoto que no tenga Windows NT o Windows 2000. No puedes ver un equipo remoto de Windows NT 4.0 desde un equipo Windows NT 4.0.

En la tabla siguiente se muestran los valores de propiedad iniciales de una instancia de FileSystemWatcher.

Propiedad Valor inicial
NotifyFilter combinación OR bit a bit de LastWrite, FileNamey DirectoryName
EnableRaisingEvents false
Filter "*.*" (Ver todos los archivos).
IncludeSubdirectories false
InternalBufferSize 8192
Path cadena vacía ("")

Nota:

El componente no observará el directorio especificado hasta Path que se establezca y EnableRaisingEvents es true.

Consulte también

Se aplica a

FileSystemWatcher(String)

Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs

Inicializa una nueva instancia de la FileSystemWatcher clase, dado el directorio especificado que se va a supervisar.

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

Directorio que se va a supervisar, en notación estándar o convención de nomenclatura universal (UNC).

Excepciones

El path parámetro es null.

El path parámetro es una cadena vacía ("").

O bien

La ruta de acceso especificada a través del path parámetro no existe.

path es demasiado largo.

Comentarios

Nota:

El componente no observará el directorio especificado hasta Path que se establezca y EnableRaisingEvents es true.

El componente puede ver archivos en su equipo personal, una unidad de red o un equipo remoto.

No puedes ver un equipo remoto que no tenga Windows NT o Windows 2000. No puedes ver un equipo remoto de Windows NT 4.0 desde un equipo Windows NT 4.0. La Filter propiedad se establece de forma predeterminada para ver todos los archivos.

Consulte también

Se aplica a

FileSystemWatcher(String, String)

Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs
Source:
FileSystemWatcher.cs

Inicializa una nueva instancia de la FileSystemWatcher clase, dado el directorio y el tipo de archivos especificados que se van a supervisar.

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

Directorio que se va a supervisar, en notación estándar o convención de nomenclatura universal (UNC).

filter
String

Tipo de archivos que se van a inspeccionar. Por ejemplo, "*.txt" busca cambios en todos los archivos de texto.

Excepciones

El path parámetro es null.

O bien

El filter parámetro es null.

El path parámetro es una cadena vacía ("").

O bien

La ruta de acceso especificada a través del path parámetro no existe.

path es demasiado largo.

Comentarios

Nota:

El componente no observará el directorio especificado hasta Path que se establezca y EnableRaisingEvents es true.

El componente puede ver archivos en su equipo personal, una unidad de red o un equipo remoto.

No puedes ver un equipo remoto que no tenga Windows NT o Windows 2000. No puedes ver un equipo remoto de Windows NT 4.0 desde un equipo Windows NT 4.0.

Consulte también

Se aplica a