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

`lock`
Modifier and Type
Field
Description
`protected Object`
`lock`
The object used to synchronize operations on this stream.

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

`close, flush, getEncoding, write, write, write`
Modifier and Type
Method
Description
`void`
`close()`
Closes the stream, flushing it first.
`void`
`flush()`
Flushes the stream.
`String`
`getEncoding()`
Returns the name of the character encoding being used by this stream.
`void`
`write(char[] cbuf, int off, int len)`
Writes a portion of an array of characters.
`void`
`write(int c)`
Writes a single character.
`void`
`write(String str, int off, int len)`
Writes a portion of a string.

### Methods declared in class Writer

`append, append, append, nullWriter, write, write`
Modifier and Type
Method
Description
`Writer`
`append(char c)`
Appends the specified character to this writer.
`Writer`
`append(CharSequence csq)`
Appends the specified character sequence to this writer.
`Writer`
`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this writer.
`static Writer`
`nullWriter()`
Returns a new `Writer` which discards all characters.
`void`
`write(char[] cbuf)`
Writes an array of characters.
`void`
`write(String str)`
Writes a string.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(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`
`wait(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.

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