Package org.apache.commons.io.output

# Class FileWriterWithEncoding.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<FileWriterWithEncoding,FileWriterWithEncoding.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<FileWriterWithEncoding,FileWriterWithEncoding.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<FileWriterWithEncoding,FileWriterWithEncoding.Builder>
org.apache.commons.io.output.FileWriterWithEncoding.Builder

All Implemented Interfaces:
  `IOSupplier<FileWriterWithEncoding>`

Enclosing class:
  `FileWriterWithEncoding`

public static class FileWriterWithEncoding.Builder extends AbstractStreamBuilder<FileWriterWithEncoding,FileWriterWithEncoding.Builder>
Builds a new `FileWriterWithEncoding` instance.

Using a CharsetEncoder:

     FileWriterWithEncoding s = FileWriterWithEncoding.builder()
       .setPath(path)
       .setAppend(false)
       .setCharsetEncoder(StandardCharsets.UTF_8.newEncoder())
       .get();

Using a Charset:

     FileWriterWithEncoding s = FileWriterWithEncoding.builder()
       .setPath(path)
       .setAppend(false)
       .setCharsetEncoder(StandardCharsets.UTF_8)
       .get();

Since:
  2.12.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Builder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FileWriterWithEncoding`
  `get()`
  Constructs a new instance.
  `FileWriterWithEncoding.Builder`
  `setAppend(boolean append)`
  Sets whether or not to append.
  `FileWriterWithEncoding.Builder`
  `setCharsetEncoder(CharsetEncoder charsetEncoder)`
  Sets charsetEncoder to use for encoding.

  ### Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder

  `getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getInputStream, getOpenOptions, getOutputStream, getPath, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharset, setCharsetDefault, setOpenOptions`

  ### Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier

  `checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, setReader, setURI, setWriter`

  ### Methods inherited from class org.apache.commons.io.build.AbstractSupplier

  `asThis`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.io.function.IOSupplier

  `asSupplier`

- ## Constructor Details

  - ### Builder

    public Builder()

- ## Method Details

  - ### get

    public FileWriterWithEncoding get() throws IOException
    Constructs a new instance.

    This builder use the aspects File, CharsetEncoder, and append.

    You must provide an origin that can be converted to a File by this builder, otherwise, this call will throw an `UnsupportedOperationException`.

    Returns:
      a new instance.
    Throws:
      `UnsupportedOperationException` - if the origin cannot provide a File.
      `IllegalStateException` - if the `origin` is `null`.
      `IOException` - if an I/O error occurs.
    See Also:
      - `AbstractOrigin.getFile()`

  - ### setAppend

    public FileWriterWithEncoding.Builder setAppend(boolean append)
    Sets whether or not to append.
    Parameters:
      `append` - Whether or not to append.
    Returns:
      this

  - ### setCharsetEncoder

    public FileWriterWithEncoding.Builder setCharsetEncoder(CharsetEncoder charsetEncoder)
    Sets charsetEncoder to use for encoding.
    Parameters:
      `charsetEncoder` - The charsetEncoder to use for encoding.
    Returns:
      this