public class FileLock extends Object implements AutoCloseable
FileObject.
Typical usage includes locking the file in the editor on first
modification, and then using this object to ensure exclusive access when
overwriting the file (saving) by using FileObject.getOutputStream(org.openide.filesystems.FileLock).
Also used for renames, deletes, &c.
Note that such locks are only used to protect against concurrent write accesses, and are not used for read operations (i.e. they are not write-one-read-many locks). Normally this is sufficient protection. If you really need an atomic read, you may simply lock the file, perform the read, and unlock it when done. The file will still be protected against writes, although the read operation did not request a lock.
The FileLock implements AutoCloseable, so it can be created within
try-with-resources resource clause and the lock will be released at the end of the try block.
AutoCloseable interface.FileObject| Modifier and Type | Field and Description |
|---|---|
protected Throwable |
lockedBy |
static FileLock |
NONE
Constant that can be used in filesystems that do not support locking.
|
| Constructor and Description |
|---|
FileLock() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Releases the lock.
|
void |
finalize()
Finalize this object.
|
boolean |
isValid()
Test whether this lock is still active, or released.
|
void |
releaseLock()
Release this lock.
|
public static final FileLock NONE
protected Throwable lockedBy
public void releaseLock()
finally clause.public void close()
FileLock.releaseLock() call.close in interface AutoCloseablepublic boolean isValid()
true if lock is still activepublic void finalize()
FileLock.releaseLock() to release the lock if the program
for some reason failed to.