J'ai un processus java qui s'ouvre un fichier à l'aide d'un FileReader. Comment puis-je empêcher un autre (java) pour ouvrir ce fichier, ou au moins faire en sorte que le deuxième processus de savoir que le fichier est déjà ouvert? Est-ce à automatiquement fait le deuxième processus d'obtenir une exception si le fichier est ouvert(ce qui résout mon problème) ou dois-je explicitement l'ouvrir dans le premier de ces processus avec une sorte de drapeau ou de l'argument?
Pour clarifier:
J'ai une application java qui contient un dossier et ouvre chaque fichier dans la liste pour le traitement. Il traite chaque fichier après l'autre. Le traitement de chaque fichier est constitué de le lire et de faire quelques calculs basés sur le contenu et il faut environ 2 minutes. J'ai aussi une autre application java qui fait la même chose mais au lieu de cela écrit sur le fichier. Ce que je veux, c'est être en mesure d'exécuter ces applications en même temps si le scénario va comme ceci. ReadApp répertorie le dossier et recherche des fichiers A, B, C. Il ouvre Un fichier et commence la lecture. WriteApp répertorie le dossier et recherche des fichiers A,B, C, Il ouvre le fichier A voit qui est ouvert (par une exception ou d'une quelque manière que ce soit) et va au fichier B. ReadApp finitions fichier Un et continue à B. Il voit qu'il est ouvert et continue à C. Il est crucial que WriteApp ne pas écrire tout en ReadApp est la lecture du même fichier ou vice versa. Ils sont différents processus.