Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Enums](https://developer.android.com/reference/java/nio/file/StandardOpenOption#enumconstants) \| [Methods](https://developer.android.com/reference/java/nio/file/StandardOpenOption#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/nio/file/StandardOpenOption#inhmethods)

# StandardOpenOption


`
public

final

enum
StandardOpenOption
`


`


`

`

extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/java/nio/file/StandardOpenOption>


`

`


implements

https://developer.android.com/reference/java/nio/file/OpenOption


`

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[java.nio.file.StandardOpenOption](https://developer.android.com/reference/java/nio/file/StandardOpenOption)\> ||
|   | ↳ | java.nio.file.StandardOpenOption |

<br />

*** ** * ** ***

Defines the standard open options.

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `APPEND` If the file is opened for `https://developer.android.com/reference/java/nio/file/StandardOpenOption#WRITE` access then bytes will be written to the end of the file rather than the beginning. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `CREATE` Create a new file if it does not exist. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `CREATE_NEW` Create a new file, failing if the file already exists. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `DELETE_ON_CLOSE` Delete on close. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `DSYNC` Requires that every update to the file's content be written synchronously to the underlying storage device. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `READ` Open for read access. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `SPARSE` Sparse file. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `SYNC` Requires that every update to the file's content or metadata be written synchronously to the underlying storage device. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `TRUNCATE_EXISTING` If the file already exists and it is opened for `https://developer.android.com/reference/java/nio/file/StandardOpenOption#WRITE` access, then its length is truncated to 0. |
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | `WRITE` Open for write access. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/java/nio/file/StandardOpenOption` | ` https://developer.android.com/reference/java/nio/file/StandardOpenOption#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/java/nio/file/StandardOpenOption` | ` https://developer.android.com/reference/java/nio/file/StandardOpenOption#values()() ` |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Enum

` `


final

https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Enum#clone()()
`

Throws CloneNotSupportedException.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#compareTo(E)(https://developer.android.com/reference/java/nio/file/StandardOpenOption o)
`

Compares this enum with the specified object for order.


`


final

boolean` `
https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other)
`

Returns true if the specified object is equal to this
enum constant.


`


final

void` `
https://developer.android.com/reference/java/lang/Enum#finalize()()
`

enum classes cannot have finalize methods.


`


final

https://developer.android.com/reference/java/lang/Class<https://developer.android.com/reference/java/nio/file/StandardOpenOption>` `
https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()()
`

Returns the Class object corresponding to this enum constant's
enum type.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#hashCode()()
`

Returns a hash code for this enum constant.


`


final

https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#name()()
`

Returns the name of this enum constant, exactly as declared in its
enum declaration.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#ordinal()()
`

Returns the ordinal of this enumeration constant (its position
in its enum declaration, where the initial constant is assigned
an ordinal of zero).


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#toString()()
`

Returns the name of this enum constant, as contained in the
declaration.


`


static

<T extends https://developer.android.com/reference/java/lang/Enum<T>>
T` `
https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name)
`

Returns the enum constant of the specified enum class with the
specified name.


From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


From interface `

https://developer.android.com/reference/java/lang/Comparable

` `
abstract


int` `
https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/java/nio/file/StandardOpenOption o)
`

Compares this object with the specified object for order.


## Enum values

### APPEND

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption APPEND
```

If the file is opened for `https://developer.android.com/reference/java/nio/file/StandardOpenOption#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.

<br />

### CREATE

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption CREATE
```

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

<br />

### CREATE_NEW

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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.

<br />

### DELETE_ON_CLOSE

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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://developer.android.com/reference/java/nio/file/LinkOption#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://developer.android.com/reference/java/io/IOException`).

<br />

### DSYNC

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption DSYNC
```

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

<br />

**See also:**

- [Synchronized I/O file integrity](https://developer.android.com/reference/java/nio/file/package-summary#integrity)

### READ

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption READ
```

Open for read access.

<br />

### SPARSE

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption SPARSE
```

Sparse file. When used with the `https://developer.android.com/reference/java/nio/file/StandardOpenOption#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.

<br />

### SYNC

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption SYNC
```

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

<br />

**See also:**

- [Synchronized I/O file integrity](https://developer.android.com/reference/java/nio/file/package-summary#integrity)

### TRUNCATE_EXISTING

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption TRUNCATE_EXISTING
```

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

<br />

### WRITE

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final StandardOpenOption WRITE
```

Open for write access.

<br />

## Public methods

### valueOf

```
public static StandardOpenOption valueOf (String name)
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | <br /> |

### values

```
public static final StandardOpenOption[] values ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/StandardOpenOption` | <br /> |