FileSystemWatcher Demo


He creado un Demo para mostrar algunas funcionalidades de la clase FileSystemWatcher, en resumidas cuentas en la aplicación el usuario se busca un directorio gracias al control FolderBrowserDialog, luego se listaran los archivos que están dentro de la carpeta, habrá un botón para iniciar el Monitoreo de la carpeta, y se podrá configurar algunas opciones del control FileSystemWatcher, en cuánto se modifique algún archivo del directorio, se mostraran los cambios realizados, permitiéndonos monitorear cualquier directorio:

 

 

La clase FileSystemWatcher, es muy útil para verificar cuando se hacen cambios en un directorio, cambios como:

–          Creación archivo o directorio nuevo

–          Eliminación archivo o directorio

–          Renombrar un archivo o directorio

–          Modificar el contenido de un archivo

–          Cambiar los atributos de un archivo

–          Y otros más

Para usar el FileSystemWatcher:

–           Se debe especificar una ruta (path) de un directorio, por ejemplo: C:/mis documentos/

–          Después se le debe indicar el filtro (filter) de los archivos que va a monitorear,  por ejemplo todos los archivos de Word: *.doc y *.docx, se pueden usar comodines

–          Se especifica si se monitorearan subdirectorios o solo la carpeta raíz

–          Se especifica el tipo de notificaciones para los cambios realizados sobre el archivo: Tamaño, Fecha de Modificación, Fecha de último acceso, Seguridad, nombres,  y otros

–          Se inicia el monitoreo

El FileSystemWatcher monitorea de forma sincrónica o asincrónica, para usarlo de forma sincrónica se debe usar el método WaitForChanged, mientras que para usar de forma asincrónica se deben usar los eventos Changed, Created, Deleted o Renamed, según el cambio, aunque podemos usar el changed para changed, created y deleted ya que funcionan de forma parecida.

Adjunto el código de la aplicación, se debe tener en cuenta que cuando se monitorea, muchas veces al tener tantos cambios se presente un error de desborde, además de que podemos notar que al modificar un archivo los cambios que se realizan pueden ser varios: changed, renamed, created y deleted, para evitar desbordes y notificaciones no deseadas debemos filtrar bien el monitoreo.

Este es un ejemplo de la aplicación, lo único que hice fue:

–          Renombrar un archivo

–          Crear un nuevo archivo de texto

–          Modificar su contenido

–          Eliminar el archivo de texto

 

Como vemos aparecen más cambios realizados, debido a los cambios internos que realiza el sistema operativo.

Código Fuente Aquí.

Enlaces:

http://msdn.microsoft.com/es-es/library/system.io.filesystemwatcher(VS.80).aspx

Anuncios

5 pensamientos en “FileSystemWatcher Demo

  1. Muy buen post una pregunta, habra alguna forma de saber en un ambiente de red que usuario realiso alguno de los movimientos( modificacion,creacion u eliminacion)?

  2. Hola me gustaría en base a tu ejemplo, adaptarlo para crear un gestor de descargas, cuando encuentra que algún archivo fue modificado, o debe ser actualizado, podrías ayudarme ? soy novato en esto y estoy tratando de aprender… Gracias

Deseas comentar o sugerir algo?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s