The Java FileWriter class is for writing the text to the character-based files using a default buffer size. It uses character encoding default to the platform, if not provided otherwise.
FileWriter is usually wrapped by higher-level Writer types, such as BufferedWriter or PrintWriter. FileWriter provides better performance and higher-level, more flexible methods to write content.
1. Java FileWriter class
- The
FileWriteris used for writing to the character based files. Pass the required charset, if we do not wish to use platform’s default charset. FileWriteris part ofjava.iopackage.FileWriterextends the abstract classWriter.FileWriterimplementsCloseable,AutoCloseable,FlushableandAppendableinterfaces.FileWriterprovides methods for writing to a new file, and appending to an existing file.- If we try to open a file, which is already opened, the constructors of
FileWriterclass will fail.
2. Creating a FileWriter
To create FileWriter, use one of its constructors. All constructors will need at least the file name or File object referring to the file where we want to write the text.
Setting the Charset information is optional. If not provided, system’s default charset will be used.
String fileName = "dataOut.txt"; File file = new File(fileName); // Using file name FileWriter fw1 = new FileWriter(fileName); // Using File object FileWriter fw2 = new FileWriter(file);
3. Setting Character Encoding
If we want to write the characters in a different encoding then pass the Charset information in FileWriter‘s constructor.
String fileName = "dataOut.txt";
File file = new File(fileName);
FileWriter fw = new FileWriter(file, Charset.forName("UTF8"));
4. Closing the FileWriter
Call the fileWriter.close() method when we are done with writing to the file. Or we can use the auto-closable feature of this class.
In the given example, try-with-resources feature will close the FileWriter automatically when the try block is completely executed.
String fileName = "dataOut.txt";
try (FileWriter fw
= new FileWriter(new File(fileName))) {
//Perform operations
}
5. Java FileWriter Example
Lets see a few examples of writing to a file using the FileWriter in Java. In each example, we will write the file dataOut.txt with the content "humpty dumpty".
Example 1: Creating a new file and Writing to it using FileWriter
In the given example, we opened a new file for writing the content. After the program executed, a new file dataOut.txt is created and the content "humpty dumpty" is written on it.
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterExample
{
public static void main(String[] args)
throws IOException
{
String fileName = "dataOut.txt";
try (FileWriter fw
= new FileWriter(new File(fileName))) {
fw.write("humpty dumpty");
}
}
}
Program output:
humpty dumpty
Example 2: Appending to an existing file using FileWriter
To append to a file, open the file in append mode by passing the value true to the constructor of FileWriter. Once the file is opened in append mode, use the various append methods to append the test to existing content in the file.
package com.howtodoinjava.io;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterExample
{
public static void main(String[] args)
throws IOException
{
String fileName = "dataOut.txt";
try (FileWriter fw
= new FileWriter(new File(fileName), true)) {
fw.append(" sat on a wall");
}
}
}
Program output:
humpty dumpty sat on a wall
Happy Learning !!
Comments