2012-02-07 15 views
8

Me gustaría saber si es posible saber cuándo se agrega un archivo a una carpeta en C#. Sé que puedes ver el momento de la creación y muchas otras cosas en FileInfo, pero nok cuando se agregó.Averiguar cuándo se agrega el archivo a la carpeta

+1

En realidad no lo sé Cualquiera C#, pero en general sé que dicha información no se almacena en el sistema de archivos por lo que no debería ser disponible. La única opción que puedo pensar es tomar "instantáneas" de una carpeta, verificando qué archivos hay allí en ese momento. Luego, vuelve y toma otra "instantánea" y compara los dos, y vea si su archivo se ha agregado mientras tanto. Tendría que decidir sobre un intervalo adecuado entre instantáneas. –

+2

¿Quiere saber cuándo se agregó el archivo a una carpeta de forma retroactiva o recibir una notificación cuando ocurra (según FileSystemWatcher)? –

+0

Creo que iré por la solución de "instantánea". El FileSystemWatcher realmente no es lo que estoy buscando. ¡Gracias! – Mikkel

Respuesta

11

Puede usar el System.IO.FileSystemWatcher. Proporciona métodos para hacer exactamente lo que quiere hacer:

FileSystemWatcher watcher = new FileSystemWatcher() 
{ 
    Path = stringWithYourPath, 
    Filter = "*.txt" 
}; 
watcher.Created += new FileSystemEventHandler(OnChanged); 
3

FileSystemWatcher es un componente muy potente, lo que nos permite conectarse a los directorios y observar los cambios específicos dentro de ellos, como creación de nuevos archivos, adición de subdirectorios y renombrado de archivos o subdirectorios. Esto permite detectar fácilmente cuando se crean, modifican o eliminan ciertos archivos o directorios. Es es uno de los miembros del espacio de nombres System.IO.

Full Tutorial Here

Tiene eventos y theyare

  • Creado - levantado cada vez que se crea un directorio o archivo.
  • Eliminado: se genera cada vez que se elimina un directorio o archivo.
  • Renombrado: se genera cada vez que se cambia el nombre de un directorio o archivo.
  • Modificado: se genera cada vez que se realizan cambios en el tamaño, los atributos del sistema, la última vez que se escribe, el último tiempo de acceso o los permisos de seguridad NTFS de un directorio o archivo.
Cuestiones relacionadas