¿Cómo puedo bloquear un archivo usando java (si es posible)

Tengo un proceso Java que abre un archivo usando un FileReader. ¿Cómo puedo evitar que otro proceso (Java) abra este archivo, o al menos notifique a ese segundo proceso que el archivo ya está abierto? ¿Esto hace automáticamente que el segundo proceso obtenga una excepción si el archivo está abierto (lo que resuelve mi problema) o tengo que abrirlo explícitamente en el primer proceso con algún tipo de indicador o argumento?

Para aclarar:

Tengo una aplicación Java que enumera una carpeta y abre cada archivo en la lista para procesarla. Procesa cada archivo tras otro. El procesamiento de cada archivo consiste en leerlo y hacer algunos cálculos basados ​​en el contenido y demora aproximadamente 2 minutos. También tengo otra aplicación Java que hace lo mismo pero que escribe en el archivo. Lo que quiero es poder ejecutar estas aplicaciones al mismo tiempo para que el escenario sea así. ReadApp muestra la carpeta y encuentra los archivos A, B, C. Abre el archivo A e inicia la lectura. WriteApp enumera la carpeta y encuentra los archivos A, B, C. Abre el archivo A, ve que está abierto (por una excepción o lo que sea) y va al archivo B. ReadApp finaliza el archivo A y continúa hasta B. Ve que está abierto y continúa a C. Es crucial que WriteApp no ​​escriba mientras ReadApp está leyendo el mismo archivo o viceversa. Son procesos diferentes.

Respuestas a la pregunta(11)

Su respuesta a la pregunta