Introduction to FileWriter in Java
FileWriter in java is used to create files, and characters can be written into the created file; output stream class is the base class of FileWriter class as it is being inherited from it, and the assumption made by the constructor of this class is that default character encoding and default byte buffer size are permitted if these values are to be specified by us an output stream writer must be constructed on a file output stream.
Declaration of Java FileWriter Class:
Java.lang.Object
Java.io.Writer
Java.io.OutputStreamWriter
Java.io.FileWriter
Constructors in FileWriter in Java
The FileWriter class in java consists of several constructors. They are:
- FileWriter(File file): When a file object is given, a FileWriter object is constructed by using this method FileWriter(File file).
- FileWriter(File file, Boolean append): When a file object is given, a FileWriter object is constructed, and the Boolean value indicates whether to append the data that is being written or not using this method FileWriter(File file, Boolean append).
- FileWriter(FileDescriptor fd): A FileWriter object is constructed, which is associated with the file descriptor specified as a parameter in the method FileWriter(FileDescriptor fd).
- FileWriter(String fileName): When a file name is given, a FileWriter object is created using this method FileWriter(String fileName).
- FileWriter(String filename, Boolean append): When a file name is given, a FileWriter object is created, and the Boolean value indicates whether to append the data that is being written or not using this method FileWriter(String filename, Boolean append).
Methods of FileWriter in Java
The FileWriter class in java consists of several methods, which are:
- Public void write(int c) throws IOException: A single character is written using this method; public void write(int c) throws IOException.
- Public void write(char [] stir) throws IOException: An array of characters is written using this method. Public void write(char [] stir) throws IOException.
- Public void write(string str) throws IOException: A string is written using this method. Public void write(string str) throws IOException.
- Public void write(string str, int off, int len) throws IOException: A portion of a string is written using this method Public void write(string str, int off, int len) throws IOException where off indicates offset from which the writing of the characters must begin and len indicates the number of characters to be written.
- Public void flush() throws IOException: The stream is flushed using this method Public void flush() throws IOException.
- Public void close() throws IOException: The stream is first flushed, and the writer is then closed using this method Public void close() throws IOException.
Examples to Implement FileWriter in Java
Below are the examples of implementing FileWriter in Java:
Example #1
Java program to demonstrate the creation of FileWriter class.
Code:
import java.io.*;
public class Read {
public static void main(String args[])throws IOException {
File file1 = new File("check.txt");
// A file is created
file1.createNewFile();
// Object of FileWriter is created
FileWriter writer1 = new FileWriter(file1);
// Contents are written to the file
writer1.write("Welcome to FileWriter");
writer1.flush();
writer1.close();
// Object of filereader is created
FileReader read = new FileReader(file1);
char [] a1 = new char[50];
read.read(a1); // array contents are read
for(char ch : a1)
System.out.print(ch); // characters are printed one by one
read.close();
}
}
Output:
Example #2
Java program to using FileWriter class to create a text file.
Code:
import java.io.*;
public class Example {
public static void main(String[] args) {
//File constructor is initialized
File file1 = new File("C:/Users/shivakumarsh/Desktop/Learning/source.txt");
try {
boolean create = file1.createNewFile();
if (create) {
System.out.println("File creation is succesful.");
}else {
System.out.println("There is already a file by this name.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Example #3
Java program to demonstrate the appending of string to the end of the file.
Code:
import java.io.*;
public class Example {
public static void append(String fileName,
String string)
{
try {
// The file is opened in append mode
BufferedWriter out1 = new BufferedWriter(
new FileWriter(fileName, true));
out1.write(string);
out1.close();
}
catch (IOException e) {
System.out.println("occurance of exception" + e);
}
}
public static void main(String[] args)
throws Exception
{
// A sample file is created with some text containing in it
String fileName = "Shobha.txt";
try {
BufferedWriter out1 = new BufferedWriter(
new FileWriter(fileName));
out1.write("Learning appending\n");
out1.close();
}
catch (IOException e) {
System.out.println("occurance of exception" + e);
}
// The newly created file is appended with the string value passed here
String string = "Learning is good";
append(fileName, string);
// contents of the modified file are printed here
try {
BufferedReader in1 = new BufferedReader(
new FileReader("Shobha.txt"));
String mystr;
while ((mystr = in1.readLine()) != null) {
System.out.println(mystr);
}
}
catch (IOException e) {
System.out.println("Occurance of exception" + e);
}
}
}
Output:
Example #4
Java program using FileWriter to write to a file one line after the other.
Code:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
public class List {
public static void main(String[] args) throws Exception {
ArrayList<String> list1 = new ArrayList<String>();
// The newly created file is appended with the string value passed here
list1.add("Understanding an example in java");
list1.add("second line of the file");
list1.add("third line of the file");
writeFile("C:/Users/shivakumarsh/Desktop/Learning/source.txt", list1);
System.out.println("file creation is successful");
}
public static void write(String fileName, List<String> list1) throws Exception {
FileWriter fwd = null;
BufferedWriter bwd = null;
try {
fwd = new BufferedWriter(fwd);
for (int j = 0; list1 != null && j < list.size(); j++) {
bwd.write(list.get(j));
bwd.write("\n");
}
} catch (Exception e1) {
System.out.println("error occured:" + e1.getMessage());
throw e1;
} finally {
try {
bwd.close();
} catch (Exception e1) {
}
try {
fwd.close();
} catch (Exception e1) {
}
}
}
}
Output:
Conclusion
In this tutorial, we understand the concept of FileWriter as in the definition of FileWriter, how to declare FileWriter, constructors in FileWriter, and programming examples to demonstrate the creation of FileWriter class, using FileWriter class to create a text file, using FileWriter class to append text to an existing file consisting of contents, using FileWriter class to write to a new file line by line, that is adding contents one line after the other.
Recommended Article
This is a guide to FileWriter in Java. Here we discuss how to declare FileWriter, constructors in FileWriter and its methods along with code implementation. You can also go through our other suggested articles to learn more –