Module java.base
Package java.io

## Class FileWriter

- java.lang.Object
- - java.io.Writer
  - - java.io.OutputStreamWriter
    - - java.io.FileWriter

- All Implemented Interfaces:
    `Closeable`, `Flushable`, `Appendable`, `AutoCloseable`

      public class FileWriter
      extends OutputStreamWriter

  Writes text to character files using a default buffer size. Encoding from characters to bytes uses either a specified charset or the platform's default charset.

  Whether or not a file is available or may be created depends upon the underlying platform. Some platforms, in particular, allow a file to be opened for writing by only one `FileWriter` (or other file-writing object) at a time. In such situations the constructors in this class will fail if the file involved is already open.

  The `FileWriter` is meant for writing streams of characters. For writing streams of raw bytes, consider using a `FileOutputStream`.

  Since:
    1.1
  See Also:
    `OutputStreamWriter`, `FileOutputStream`

- - ### Field Summary

    - ### Fields declared in class java.io.Writer

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FileWriter​(File file)` | Constructs a `FileWriter` given the `File` to write, using the platform's default charset
    `FileWriter​(FileDescriptor fd)` | Constructs a `FileWriter` given a file descriptor, using the platform's default charset.
    `FileWriter​(File file, boolean append)` | Constructs a `FileWriter` given the `File` to write and a boolean indicating whether to append the data written, using the platform's default charset.
    `FileWriter​(File file, Charset charset)` | Constructs a `FileWriter` given the `File` to write and charset.
    `FileWriter​(File file, Charset charset, boolean append)` | Constructs a `FileWriter` given the `File` to write, charset and a boolean indicating whether to append the data written.
    `FileWriter​(String fileName)` | Constructs a `FileWriter` given a file name, using the platform's default charset
    `FileWriter​(String fileName, boolean append)` | Constructs a `FileWriter` given a file name and a boolean indicating whether to append the data written, using the platform's default charset.
    `FileWriter​(String fileName, Charset charset)` | Constructs a `FileWriter` given a file name and charset.
    `FileWriter​(String fileName, Charset charset, boolean append)` | Constructs a `FileWriter` given a file name, charset and a boolean indicating whether to append the data written.

  - ### Method Summary

    - ### Methods declared in class java.io.OutputStreamWriter

      `flush, getEncoding, write, write, write`

    - ### Methods declared in class java.io.Writer

      `append, append, append, close, nullWriter, write, write`

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### FileWriter

          public FileWriter​(String fileName)
                     throws IOException

      Constructs a `FileWriter` given a file name, using the platform's default charset
      Parameters:
        `fileName` - String The system-dependent filename.
      Throws:
        `IOException` - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason

    - #### FileWriter

          public FileWriter​(String fileName,
                            boolean append)
                     throws IOException

      Constructs a `FileWriter` given a file name and a boolean indicating whether to append the data written, using the platform's default charset.
      Parameters:
        `fileName` - String The system-dependent filename.
        `append` - boolean if `true`, then data will be written to the end of the file rather than the beginning.
      Throws:
        `IOException` - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason

    - #### FileWriter

          public FileWriter​(File file)
                     throws IOException

      Constructs a `FileWriter` given the `File` to write, using the platform's default charset
      Parameters:
        `file` - the `File` to write.
      Throws:
        `IOException` - if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason

    - #### FileWriter

          public FileWriter​(File file,
                            boolean append)
                     throws IOException

      Constructs a `FileWriter` given the `File` to write and a boolean indicating whether to append the data written, using the platform's default charset.
      Parameters:
        `file` - the `File` to write
        `append` - if `true`, then bytes will be written to the end of the file rather than the beginning
      Throws:
        `IOException` - if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
      Since:
        1.4

    - #### FileWriter

          public FileWriter​(FileDescriptor fd)

      Constructs a `FileWriter` given a file descriptor, using the platform's default charset.
      Parameters:
        `fd` - the `FileDescriptor` to write.

    - #### FileWriter

          public FileWriter​(String fileName,
                            Charset charset)
                     throws IOException

      Constructs a `FileWriter` given a file name and charset.
      Parameters:
        `fileName` - the name of the file to write
        `charset` - the charset
      Throws:
        `IOException` - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
      Since:
        11

    - #### FileWriter

          public FileWriter​(String fileName,
                            Charset charset,
                            boolean append)
                     throws IOException

      Constructs a `FileWriter` given a file name, charset and a boolean indicating whether to append the data written.
      Parameters:
        `fileName` - the name of the file to write
        `charset` - the charset
        `append` - a boolean. If `true`, the writer will write the data to the end of the file rather than the beginning.
      Throws:
        `IOException` - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
      Since:
        11

    - #### FileWriter

          public FileWriter​(File file,
                            Charset charset)
                     throws IOException

      Constructs a `FileWriter` given the `File` to write and charset.
      Parameters:
        `file` - the `File` to write
        `charset` - the charset
      Throws:
        `IOException` - if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
      Since:
        11

    - #### FileWriter

          public FileWriter​(File file,
                            Charset charset,
                            boolean append)
                     throws IOException

      Constructs a `FileWriter` given the `File` to write, charset and a boolean indicating whether to append the data written.
      Parameters:
        `file` - the `File` to write
        `charset` - the charset
        `append` - a boolean. If `true`, the writer will write the data to the end of the file rather than the beginning.
      Throws:
        `IOException` - if the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
      Since:
        11