# StandardOpenOption

public final enum **StandardOpenOption** extends [Enum](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html)\<[StandardOpenOption](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html)\>  
implements [OpenOption](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/OpenOption.html) Defines the standard open options.

### Inherited Method Summary

From class [java.lang.Enum](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html)

|---|---|
| final [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#clone())() Throws CloneNotSupportedException. |
| final int | [compareTo](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#compareTo(E))([StandardOpenOption](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html) o) Compares this enum with the specified object for order. |
| final boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) other) Returns true if the specified object is equal to this enum constant. |
| final void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#finalize())() enum classes cannot have finalize methods. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<[StandardOpenOption](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html)\> | [getDeclaringClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#getDeclaringClass())() Returns the Class object corresponding to this enum constant's enum type. |
| final int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#hashCode())() Returns a hash code for this enum constant. |
| final [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [name](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#name())() Returns the name of this enum constant, exactly as declared in its enum declaration. |
| final int | [ordinal](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#ordinal())() Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero). |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#toString())() Returns the name of this enum constant, as contained in the declaration. |
| static \<T extends [Enum](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html)\<T\>\> T | [valueOf](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Enum.html#valueOf(java.lang.Class<T>,%20java.lang.String))([Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<T\> enumType, [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) name) Returns the enum constant of the specified enum type with the specified name. |

From class [java.lang.Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)

|---|---|
| [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |
| boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |
| void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<?\> | [getClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#getClass())() Returns the unique instance of `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html` that represents this object's class. |
| int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |
| final void | [notify](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| final void | [notifyAll](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |

From interface [java.lang.Comparable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Comparable.html)

|---|---|
| abstract int | [compareTo](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Comparable.html#compareTo(T))([StandardOpenOption](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html) o) Compares this object with the specified object for order. |

## Enum Values

#### public static final StandardOpenOption
**APPEND**

If the file is opened for `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html#WRITE` access then bytes will be written
to the end of the file rather than the beginning.

If the file is opened for write access by other programs, then it
is file system specific if writing to the end of the file is atomic.

#### public static final StandardOpenOption
**CREATE**

Create a new file if it does not exist.
This option is ignored if the `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html#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.

#### public static final StandardOpenOption
**CREATE_NEW**

Create a new file, failing if the file already exists.
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.

#### public static final StandardOpenOption
**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 `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/LinkOption.html#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 `https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html`).

#### public static final StandardOpenOption
**DSYNC**

Requires that every update to the file's content be written
synchronously to the underlying storage device.

##### See Also

- [Synchronized I/O file integrity](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/package-summary#integrity)

#### public static final StandardOpenOption
**READ**

Open for read access.

#### public static final StandardOpenOption
**SPARSE**

Sparse file. When used with the `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html#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.

#### public static final StandardOpenOption
**SYNC**

Requires that every update to the file's content or metadata be written
synchronously to the underlying storage device.

##### See Also

- [Synchronized I/O file integrity](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/package-summary#integrity)

#### public static final StandardOpenOption
**TRUNCATE_EXISTING**

If the file already exists and it is opened for `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html#WRITE`
access, then its length is truncated to 0. This option is ignored
if the file is opened only for `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/StandardOpenOption.html#READ` access.

#### public static final StandardOpenOption
**WRITE**

Open for write access.