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 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`
  - `Charset.defaultCharset()`

## 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 default charset
`FileWriter(FileDescriptor fd)`
Constructs a `FileWriter` given a file descriptor, using the 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 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 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 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

`close, flush, getEncoding, write, write, write`

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

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

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

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

## Constructor Details

### FileWriter

public FileWriter(String fileName) throws IOException
Constructs a `FileWriter` given a file name, using the 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
See Also:
  - `Charset.defaultCharset()`

### 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 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
See Also:
  - `Charset.defaultCharset()`

### FileWriter

public FileWriter(File file) throws IOException
Constructs a `FileWriter` given the `File` to write, using the 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
See Also:
  - `Charset.defaultCharset()`

### 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 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
See Also:
  - `Charset.defaultCharset()`

### FileWriter

public FileWriter(FileDescriptor fd)
Constructs a `FileWriter` given a file descriptor, using the default charset.

Parameters:
  `fd` - the `FileDescriptor` to write.
See Also:
  - `Charset.defaultCharset()`

### 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