public class FileLock
extends java.lang.Object
Damit oben beschriebene Aufgabe realisiert werden kann, wird im Konstruktor der Klasse eine Datei angegeben, die gegen unerlaubten Zugriff geschützt werden soll. Soll die übergebene Datei geschützt werden, wird eine entsprechende Methode aufgerufen. Dieser Methodenaufruf prüft, ob eine Datei mit der Endung ".lock" existiert, der restliche Pfad ist gleich der zu schützenden Datei.
Ist so eine Datei vorhanden, wird eine Exception geworfen, da sich zu schützende Datei bereits im Zugriff befindet.
Kann eine Datei angelegt werden, wird der Methodenaufruf keine weiteren Auswirkungen habe. Legt eine zweite Applikation eine Instanz dieser Klasse an und übergibt die gleiche Datei im Konstruktor und ruft die Methode zum sperren der Datei auf, wird automatisch eine Exception geworfen.
Die Klasse enthält ebenfalls eine Methode zum löschen der Datei mit der Endung ".lock". Wurde die Datei gelöscht, können andere Applikationen die Datei wieder sperren.
Constructor | Description |
---|---|
FileLock(java.io.File protectedFile) |
Legt ein Objekt an, die übergebene Datei wird nicht gegen den Zugriff gesichert.
|
Modifier and Type | Method | Description |
---|---|---|
void |
lock() |
Zeigt an, dass die im Konstruktor übergebene Datei im Zugriff einer Applikation ist.
|
void |
unlock() |
Gibt die Datei, die im Konstruktor übergeben wurde wieder frei.
|
public FileLock(java.io.File protectedFile)
lock()
geschehen.protectedFile
- Datei, die gesperrt werden soll.public void lock() throws java.io.IOException
unlock()
aufzurufen wird zu
einer IllegalStateException führen.java.lang.IllegalStateException
- Die Datei wurde bereits gesperrt und befindet sich somit im Zugriff.java.io.IOException
public void unlock()
lock()
wieder aufgerufen werden.