Estimados,
 
Tengo 2 dudas con respecto este "subject".
 
1 - Tengo una aplicación que chequea "a mano" (no utilizando filesystemwatcher) 
una carpeta para ver si se van generando unos archivos.   Cuando el archivo en 
la carpeta origen "deja de crecer", lo muevo a una carpeta "destino".  Como me 
doy cuenta que está siendo utilizado? Intento abrirlo, si me dá error, está 
siendo utilizado (aparte también chequeo que el Size vaya incrementandose).  El 
tema es este.  Si el que genera el archivo es Windows (y la carpeta es Windows) 
esto funciona bien.  Pero si el que genera el Archivo es un programa en Linux 
(dentro de una carpeta de Linux) al intentar hacer el Open me deja sin 
problemas, es mas... lo muevo de carpeta y tambien me deja... y tambien sigue 
creciendo el archivo (inclusive si lo moví a otra carpeta).  Entonces eso me 
rompió el esquema que utilizaba...
Para chequear si el archivo esta siendo utilizado... Dentro de un Try/Catch...
FileInfo xFile = new FileInfo(sFilename);

FileStream fs = xFile.Open(FileMode.Open, FileAccess.ReadWrite, 
FileShare.ReadWrite)

Para mas datos.. el parche que tuve que hacer (feeeooo) es tomar el size del 
archivo, hacer un sleep de 2 segs y volver a tomar el size para ver si sigue 
creciendo... el tiempo apremiaba y no se me había ocurrido otra...
 
2 - Otra cosa que hacía era... cuando pasaba el archivo a "Destino" le tomaba 
la Fecha/Hora de creación y la guardaba... Pero en Linux, esa fecha/hora es 
modificada cuando deja de "llenarlo"... entonces también eso me complica porque 
desconozco a que fecha/hora se creó el archivo. 
 
Alguien puede ayudarme con esto?
 
Graciassss...
Gabriel

Responder a