Cómo saber si un fichero ya no está en uso
"Daniel B" <[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Buenas tardes, En un desarrollo que estamos haciendo tenemos que encriptar un fichero y después descargarlo en el navegador del cliente (se abre una ventana típica de descarga de archivos). Hasta ahora parecía que todo iba bien pero comprobamos que sólo funciona cuando estamos depurando el código. Parece raro pero tiene explicación: La encriptación genera un fichero destino que no cierra y libera hasta que ha terminado su función. Sin embargo la ejecución continúa y al intentar utilizar dicho fichero destino tenemos una excepción porque está aún en uso. Al poner puntos de ruptura estamos parando temporalmente la ejecución y da tiempo a que termine el proceso de encriptación (que es pequeño pero suficiente para que provoque problemas en tiempo de ejecución). ¿Cómo hacemos para saber si el fichero ya se ha terminado de encriptar y podemos continuar procesando? ¿Con synchronized? ¿Se puede preguntar si un fichero ya está cerrado (no encuentro la forma en el API)? ¿Cutremente con un sleep? Gracias por vuestras ideas y perdonad por el lío de explicación.