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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.