Как я могу заблокировать файл с помощью Java (если это возможно)

У меня есть процесс Java, который открывает файл с помощью FileReader. Как я могу запретить другому (Java) процессу открывать этот файл или хотя бы уведомить второй процесс о том, что файл уже открыт? Это автоматически заставляет второй процесс получить исключение, если файл открыт (что решает мою проблему), или мне нужно явно открыть его в первом процессе с каким-то флагом или аргументом?

To clarify:

У меня есть приложение Java, которое перечисляет папку и открывает каждый файл в списке для его обработки. Он обрабатывает каждый файл за другим. Обработка каждого файла состоит из его чтения и выполнения некоторых вычислений на основе содержимого, и это занимает около 2 минут. У меня также есть другое приложение Java, которое делает то же самое, но вместо этого пишет в файл. Я хочу иметь возможность запускать эти приложения одновременно, чтобы сценарий развивался следующим образом. ReadApp перечисляет папку и находит файлы A, B, C. Он открывает файл A и начинает чтение. WriteApp выводит список папок и находит файлы A, B, C. Он открывает файл A, видит, что он открыт (по исключению или любым другим способом), и переходит к файлу B. ReadApp заканчивает файл A и продолжает B. Он видит, что он открыт и продолжается до C. Очень важно, что WriteApp не пишет, когда ReadApp читает тот же файл или наоборот. Это разные процессы.

Ответы на вопрос(11)

Ваш ответ на вопрос