J'ai un processus Java qui ouvre un fichier à l'aide d'un FileReader. Comment puis-je empêcher un autre processus (Java) d'ouvrir ce fichier, ou au moins informer ce deuxième processus que le fichier est déjà ouvert? Cela fait-il automatiquement au deuxième processus une exception si le fichier est ouvert (ce qui résout mon problème) ou dois-je l'ouvrir explicitement dans le premier processus avec une sorte d'indicateur ou d'argument?
Clarifier:
J'ai une application Java qui répertorie un dossier et ouvre chaque fichier dans la liste pour le traiter. Il traite chaque fichier après l'autre. Le traitement de chaque fichier consiste à le lire et à faire quelques calculs en fonction du contenu et cela prend environ 2 minutes. J'ai également une autre application Java qui fait la même chose mais qui écrit à la place sur le fichier. Ce que je veux, c'est pouvoir exécuter ces applications en même temps pour que le scénario se déroule comme suit. ReadApp répertorie le dossier et trouve les fichiers A, B, C. Il ouvre le fichier A et démarre la lecture. WriteApp répertorie le dossier et trouve les fichiers A, B, C.Il ouvre le fichier A, voit qu'il est ouvert (par une exception ou de quelque manière que ce soit) et va au fichier B.ReadApp termine le fichier A et continue vers B.Il voit qu'il est ouvert et continue vers C. Il est crucial que WriteApp ne le fasse pas t écrire pendant que ReadApp lit le même fichier ou vice versa. Ce sont des processus différents.