2008-10-08 13 views
5

Necesito crear un servicio de Windows que supervise un directorio para los archivos cargados recientemente. Los archivos tendrán un tamaño de 100K a 400K.¿Cómo puedo controlar un directorio para los archivos recién cargados?

¿Hay alguna posibilidad de que mi sistema de supervisión detecte un nuevo archivo, pero el archivo no ha terminado de copiarse por completo? es decir, todavía está llegando y todavía no se ha escrito el EOF.

+2

Indique el idioma en el que desea desarrollarlo ya que esto cambia la respuesta a su pregunta. – Will

Respuesta

0

sí. Con archivos pequeños, el riesgo es bastante bajo, pero si quiere estar seguro, haga que verifique si ve un archivo para asegurarse de que su tamaño se mantenga estable durante uno o dos segundos.

5

Sí, existe la posibilidad de que esto suceda. Primero debe cargar el archivo a un directorio temporal y luego moverlo al directorio que está monitoreando cuando todo el archivo esté presente en su sistema de archivos.

2

Intenta leer el segundo cuento here y los comentarios. Básicamente, es como dijo Bill the Lizard

+0

¡Gracias, sabía que lo había leído en alguna parte! :) –

0

¿Está usando un FileSystemWatcher? Solo lo he usado una vez, pero creo que puedes configurar los parámetros para contarle qué eventos quieres considerar y configurar manejadores separados para cada uno. Sospecho que FileSystemWatcher puede que ni siquiera le notifique sobre la creación del archivo hasta que se haya cerrado el archivo, pero no lo he intentado.

Nota: esta es la solución .NET. Si no está usando .NET, ignórelo.

Cuestiones relacionadas