Java - FileWriter Class



Introduction

The Java FileWriter class is a convenience class for writing character files.Following are the important points about FileWriter −

  • The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable.

  • FileWriter is meant for writing streams of characters. For writing streams of raw bytes, use FileOutputStream.

Class declaration

Following is the declaration for Java.io.FileWriter class −

public class FileWriter
   extends OutputStreamWriter

Field

Following are the fields for Java.io.FileWriter class −

  • protected Object lock − This is the object used to synchronize operations on this stream.

Class constructors

Sr.No. Constructor & Description
1

FileWriter(File file)

This constructor creates a FileWriter object given a File object.

2

FileWriter(File file, boolean append)

This constructor creates a FileWriter object given a File object with a boolean indicating whether or not to append the data written.

3

FileWriter(FileDescriptor fd)

This constructor creates a FileWriter object associated with the given file descriptor.

4

FileWriter(String fileName)

This constructor creates a FileWriter object, given a file name.

5

FileWriter(String fileName, boolean append)

This constructor creates a FileWriter object given a file name with a boolean indicating whether or not to append the data written.

Once you have FileWriter object in hand, then there is a list of helper methods, which can be used to manipulate the files.

Sr.No. Method & Description
1

public void write(int c) throws IOException

Writes a single character.

2

public void write(char [] c, int offset, int len)

Writes a portion of an array of characters starting from offset and with a length of len.

3

public void write(String s, int offset, int len)

Write a portion of a String starting from offset and with a length of len.

Example 1

The following example shows the usage of Java FileWriter class. We've created a File reference with name Hello1.txt to be created in current directory. Then we're creating a new file using createNewFile(). Now a FileWriter object is created by passing the file reference created earlier and some content is written to the file. Using FileReader() class, we're reading that file and its contents are printed.

package com.tutorialspoint;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileDemo {

   public static void main(String args[])throws IOException {
      File file = new File("Hello1.txt");
      
      // creates the file
      file.createNewFile();
      
      // creates a FileWriter Object
      FileWriter writer = new FileWriter(file); 
      
      // Writes the content to the file
      writer.write("This\n is\n an\n example\n"); 
      writer.flush();
      writer.close();

      // Creates a FileReader Object
      FileReader fr = new FileReader(file); 
      char [] a = new char[50];
      fr.read(a);   // reads the content to the array
      
      for(char c : a)
         System.out.print(c);   // prints the characters one by one
      fr.close();
   }
}

Output

This
is
an
example

Example 2

The following example shows the usage of Java FileWriter class. We've created a File reference with name Hello1.txt to be created in a provided directory. Then we're creating a new file using createNewFile(). Now a FileWriter object is created by passing the file reference created earlier and some content is written to the file. Using FileReader() class, we're reading that file and its contents are printed.

package com.tutorialspoint;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileDemo {

   public static void main(String args[])throws IOException {
      File file = new File("F:/Test2/Hello1.txt");
      
      // creates the file
      file.createNewFile();
      
      // creates a FileWriter Object
      FileWriter writer = new FileWriter(file); 
      
      // Writes the content to the file
      writer.write("This\n is\n an\n example\n"); 
      writer.flush();
      writer.close();

      // Creates a FileReader Object
      FileReader fr = new FileReader(file); 
      char [] a = new char[50];
      fr.read(a);   // reads the content to the array
      
      for(char c : a)
         System.out.print(c);   // prints the characters one by one
      fr.close();
   }
}

Output

This
is
an
example
java_files_io.htm
Advertisements