FileReader를 사용하여 파일을 여는 Java 프로세스가 있습니다. 다른 (Java) 프로세스가이 파일을 열지 못하도록하거나 적어도 두 번째 프로세스에 파일이 이미 열려 있음을 알리려면 어떻게해야합니까? 파일이 열려 있으면 자동으로 두 번째 프로세스에서 예외가 발생합니까 (내 문제가 해결됨) 아니면 첫 번째 프로세스에서 일종의 플래그 또는 인수를 사용하여 명시 적으로 열어야합니까?
명확히하기 위해 :
폴더를 나열하고이를 처리하기 위해 목록의 각 파일을 여는 Java 앱이 있습니다. 각 파일을 차례로 처리합니다. 각 파일의 처리는 파일을 읽고 내용에 따라 계산하는 것으로 구성되며 약 2 분 정도 소요됩니다. 또한 동일한 작업을 수행하지만 파일에 쓰는 다른 Java 앱도 있습니다. 내가 원하는 것은 이러한 앱을 동시에 실행할 수 있으므로 시나리오가 이와 같이 진행되는 것입니다. ReadApp은 폴더를 나열하고 파일 A, B, C를 찾습니다. 파일 A를 열고 읽기를 시작합니다. WriteApp은 폴더를 나열하고 파일 A, B, C를 찾습니다. 파일 A를 열고 (예외 또는 어떤 방식 으로든) 열려있는 것을 확인하고 파일 B로 이동합니다. ReadApp은 파일 A를 완료하고 B로 계속합니다. 열려 있고 C로 계속됩니다. WriteApp이 t ReadApp이 동일한 파일을 읽는 동안 쓰거나 그 반대의 경우도 마찬가지입니다. 그들은 다른 과정입니다.