Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.

CREATE

Create a new file if it does not exist.
This option is ignored if the CREATE_NEW option is also set.
The check for the existence of the file and the creation of the file
if it does not exist is atomic with respect to other file system
operations.

DELETE_ON_CLOSE

Delete on close. When this option is present then the implementation
makes a best effort attempt to delete the file when closed
by the appropriate close method. If the close method is
not invoked then a best effort attempt is made to delete the
file when the Java virtual machine terminates (either normally, as
defined by the Java Language Specification, or where possible, abnormally).
This option is primarily intended for use with work files that
are used solely by a single instance of the Java virtual machine. This
option is not recommended for use when opening files that are open
concurrently by other entities. Many of the details as to when and how
the file is deleted are implementation specific and therefore not
specified. In particular, an implementation may be unable to guarantee
that it deletes the expected file when replaced by an attacker while the
file is open. Consequently, security sensitive applications should take
care when using this option.

For security reasons, this option may imply the NOFOLLOW_LINKS option. In other words, if the option is present
when opening an existing file that is a symbolic link then it may fail
(by throwing IOException).

READ

SPARSE

Sparse file. When used with the CREATE_NEW option then this
option provides a hint that the new file will be sparse. The
option is ignored when the file system does not support the creation of
sparse files.