Jak mogę zablokować plik za pomocą Java (jeśli to możliwe)

Mam proces Java, który otwiera plik za pomocą FileReader. Jak mogę zapobiec otwarciu tego pliku przez inny proces (Java) lub przynajmniej powiadomić ten drugi proces, że plik jest już otwarty? Czy to automatycznie powoduje, że drugi proces otrzymuje wyjątek, jeśli plik jest otwarty (co rozwiązuje mój problem) lub czy muszę go jawnie otworzyć w pierwszym procesie z jakąś flagą lub argumentem?

W celu wyjaśnienia:

Mam aplikację Java, która wyświetla folder i otwiera każdy plik na liście, aby go przetworzyć. Przetwarza każdy plik po drugim. Przetwarzanie każdego pliku polega na jego odczytaniu i wykonaniu pewnych obliczeń w oparciu o zawartość i trwa około 2 minut. Mam także inną aplikację Java, która robi to samo, ale zamiast tego zapisuje w pliku. Chcę mieć możliwość uruchamiania tych aplikacji w tym samym czasie, więc scenariusz wygląda tak. ReadApp wyświetla folder i znajduje pliki A, B, C. Otwiera plik A i rozpoczyna czytanie. WriteApp wyświetla folder i znajduje pliki A, B, C. Otwiera plik A, widzi, że jest otwarty (przez wyjątek lub w dowolny sposób) i przechodzi do pliku B. ReadApp kończy plik A i kontynuuje do B. Widzi, że jest otwarty i kontynuuje do C. Ważne jest, aby WriteApp nie zapisywał, podczas gdy ReadApp odczytuje ten sam plik lub odwrotnie. Są to różne procesy.

questionAnswers(11)

yourAnswerToTheQuestion