Uses of Interface java.nio.file.OpenOption (Java SE 10 & JDK 10 )

## Uses of Interface
java.nio.file.OpenOption

- Packages that use OpenOption
  Package | Description
  --- | ---
  java.nio.channels | Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
  java.nio.file | Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
  java.nio.file.spi | Service-provider classes for the `java.nio.file` package.
  jdk.incubator.http | High level HTTP and WebSocket API

- - ### Uses of OpenOption in java.nio.channels

    Methods in java.nio.channels with parameters of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AsynchronousFileChannel` | AsynchronousFileChannel.`open​(Path file, OpenOption... options)` | Opens or creates a file for reading and/or writing, returning an asynchronous file channel to access the file.
    `static FileChannel` | FileChannel.`open​(Path path, OpenOption... options)` | Opens or creates a file, returning a file channel to access the file.

    Method parameters in java.nio.channels with type arguments of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AsynchronousFileChannel` | AsynchronousFileChannel.`open​(Path file, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)` | Opens or creates a file for reading and/or writing, returning an asynchronous file channel to access the file.
    `static FileChannel` | FileChannel.`open​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)` | Opens or creates a file, returning a file channel to access the file.

  - ### Uses of OpenOption in java.nio.file

    Classes in java.nio.file that implement OpenOption
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LinkOption` | Defines the options as to how symbolic links are handled.
    `class` | `StandardOpenOption` | Defines the standard open options.

    Methods in java.nio.file with parameters of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BufferedWriter` | Files.`newBufferedWriter​(Path path, Charset cs, OpenOption... options)` | Opens or creates a file for writing, returning a `BufferedWriter` that may be used to write text to the file in an efficient manner.
    `static BufferedWriter` | Files.`newBufferedWriter​(Path path, OpenOption... options)` | Opens or creates a file for writing, returning a `BufferedWriter` to write text to the file in an efficient manner.
    `static SeekableByteChannel` | Files.`newByteChannel​(Path path, OpenOption... options)` | Opens or creates a file, returning a seekable byte channel to access the file.
    `static InputStream` | Files.`newInputStream​(Path path, OpenOption... options)` | Opens a file, returning an input stream to read from the file.
    `static OutputStream` | Files.`newOutputStream​(Path path, OpenOption... options)` | Opens or creates a file, returning an output stream that may be used to write bytes to the file.
    `static Path` | Files.`write​(Path path, byte[] bytes, OpenOption... options)` | Writes bytes to a file.
    `static Path` | Files.`write​(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)` | Write lines of text to a file.
    `static Path` | Files.`write​(Path path, Iterable<? extends CharSequence> lines, OpenOption... options)` | Write lines of text to a file.

    Method parameters in java.nio.file with type arguments of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `static SeekableByteChannel` | Files.`newByteChannel​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)` | Opens or creates a file, returning a seekable byte channel to access the file.
    `SeekableByteChannel` | SecureDirectoryStream.`newByteChannel​(T path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)` | Opens or creates a file in this directory, returning a seekable byte channel to access the file.

  - ### Uses of OpenOption in java.nio.file.spi

    Methods in java.nio.file.spi with parameters of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `InputStream` | FileSystemProvider.`newInputStream​(Path path, OpenOption... options)` | Opens a file, returning an input stream to read from the file.
    `OutputStream` | FileSystemProvider.`newOutputStream​(Path path, OpenOption... options)` | Opens or creates a file, returning an output stream that may be used to write bytes to the file.

    Method parameters in java.nio.file.spi with type arguments of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `AsynchronousFileChannel` | FileSystemProvider.`newAsynchronousFileChannel​(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)` | Opens or creates a file for reading and/or writing, returning an asynchronous file channel to access the file.
    `abstract SeekableByteChannel` | FileSystemProvider.`newByteChannel​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)` | Opens or creates a file, returning a seekable byte channel to access the file.
    `FileChannel` | FileSystemProvider.`newFileChannel​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)` | Opens or creates a file for reading and/or writing, returning a file channel to access the file.

  - ### Uses of OpenOption in jdk.incubator.http

    Methods in jdk.incubator.http with parameters of type OpenOption
    Modifier and Type | Method | Description
    --- | --- | ---
    `static HttpResponse.BodyHandler<Path>` | HttpResponse.BodyHandler.`asFile​(Path file, OpenOption... openOptions)` | Returns a `BodyHandler<Path>` that returns a `BodySubscriber``<Path>` obtained from `BodySubscriber.asFile(Path,OpenOption...)`.
    `static HttpResponse.BodySubscriber<Path>` | HttpResponse.BodySubscriber.`asFile​(Path file, OpenOption... openOptions)` | Returns a `BodySubscriber` which stores the response body in a file opened with the given options and name.
    `static HttpResponse.BodyHandler<Path>` | HttpResponse.BodyHandler.`asFileDownload​(Path directory, OpenOption... openOptions)` | Returns a `BodyHandler<Path>` that returns a `BodySubscriber`<`Path`> where the download directory is specified, but the filename is obtained from the `Content-Disposition` response header.