Ich bin mir jetzt nicht ganz sicher, ob die Frage nicht doch in JAVA-Allgemein gehört hätte, aber im Prinzip gehts eher um Algorithmik, als um Java.
Ich möchte verhindern, dass zwei Benutzer mit dem gleichen Programm auf den selben Ordner im Netzwerk zugreifen und an den Daten in dem Ordner rumspielen (weil das im Falle meines Programms ein mächtiges Chaos anrichten könnte). Momentan löse ich das Problem, indem ich dem das Programm, sobald ein Ordner gewählt wurde eine leere Datei anlegt in diesem Ordner. Möchte nun das gleiche Programm (nicht das selbe) diesen Ordner auswählen, sieht es die leere Datei und sagt dem Benutzer, dass das nicht erlaubt ist. Wenn das erste Programm beendet wird, löscht es die leere Datei und somit kann wieder jeder auf den Ordner zugreifen.
Soweit so gut, aber das Ganze könnte zu einem richtig großen Problem werden, wenn sich aus irgendeinem Grund der PC der das Programm grad durchführt abschmiert. Dann wird die Datei nicht gelöscht und niemand wird es mehr schaffen, den Ordner auszuwählen und der User steht wie der Ochs vorm Berg.
Deshalb meine Frage: Gibt es eine andere Möglichkeit, den Zugriff auf einen Ordner zu verwehren, solange ein JAVA-Programm mit dem Ordner arbeitet? Kann ich z.B. eine Datei anlegen, die sich selbst löscht, sobald die JVM nicht mehr läuft oder sowas? Oder gibts n viel intelligenteren Algo, um einen Ordner vor dem Zugriff anderer zur Laufzeit zu schützen?
Ich möchte verhindern, dass zwei Benutzer mit dem gleichen Programm auf den selben Ordner im Netzwerk zugreifen und an den Daten in dem Ordner rumspielen (weil das im Falle meines Programms ein mächtiges Chaos anrichten könnte). Momentan löse ich das Problem, indem ich dem das Programm, sobald ein Ordner gewählt wurde eine leere Datei anlegt in diesem Ordner. Möchte nun das gleiche Programm (nicht das selbe) diesen Ordner auswählen, sieht es die leere Datei und sagt dem Benutzer, dass das nicht erlaubt ist. Wenn das erste Programm beendet wird, löscht es die leere Datei und somit kann wieder jeder auf den Ordner zugreifen.
Soweit so gut, aber das Ganze könnte zu einem richtig großen Problem werden, wenn sich aus irgendeinem Grund der PC der das Programm grad durchführt abschmiert. Dann wird die Datei nicht gelöscht und niemand wird es mehr schaffen, den Ordner auszuwählen und der User steht wie der Ochs vorm Berg.
Deshalb meine Frage: Gibt es eine andere Möglichkeit, den Zugriff auf einen Ordner zu verwehren, solange ein JAVA-Programm mit dem Ordner arbeitet? Kann ich z.B. eine Datei anlegen, die sich selbst löscht, sobald die JVM nicht mehr läuft oder sowas? Oder gibts n viel intelligenteren Algo, um einen Ordner vor dem Zugriff anderer zur Laufzeit zu schützen?