watcher ejemplo c# filesystemwatcher

c# - ejemplo - ¿Qué filtro de FileSystemWatcher necesito usar para encontrar nuevos archivos?



filesystemwatcher windows service c# (2)

Configura el observador:

FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "Blah"; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName; watcher.Created += new FileSystemEventHandler(OnChanged); watcher.EnableRaisingEvents = true;

Luego implementa el delegado de FileCreated :

private void OnChanged(object source, FileSystemEventArgs e) { Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); }

Hasta ahora sé que FileSystemWatcher puede buscar en una carpeta y si alguno de los archivos dentro de esa carpeta se modifica, modifica, .etc ... entonces podemos manejarlo. Pero no estoy seguro de qué filtro y evento debo usar en mi escenario: vigilar una carpeta, si se agrega un archivo a esa carpeta, haga XYZ ... Así que en mi escenario no me importa si se cambia un archivo existente , etc..se deben ignorar ... solo hacer XYZ si y solo si un nuevo archivo ha sido agregado a esa Carpeta ...

¿Qué evento y filtro recomienda para este escenario?


Consulte aquí una explicación detallada de FileSystemWatcher: http://www.c-sharpcorner.com/uploadfile/mokhtarb2005/fswatchermb12052005063103am/fswatchermb.aspx

Tendrá que buscar los archivos creados si desea buscar archivos agregados.

Para especificar el tipo de cambio a observar, configure el valor de una enumeración WatcherChangeType. Los valores posibles son los siguientes:

  • Todos: la creación, eliminación, cambio o cambio de nombre de un archivo o carpeta.
  • Cambiado: El cambio de un archivo o carpeta. Los tipos de cambios incluyen: cambios de tamaño, atributos, configuración de seguridad, última escritura y última hora de acceso.
  • Creado: La creación de un archivo o carpeta.
  • Eliminado: la eliminación de un archivo o carpeta.
  • Renombrado: el cambio de nombre de un archivo o carpeta.

También puede conectar el controlador de eventos que se activa si se crea un archivo (agregado) y no implementar todos los demás eventos, ya que no son interesantes para usted:

watcher.Created += new FileSystemEventHandler(OnChanged);