Java IO Writer

In this section we will discuss about the Writer class in Java.

Java IO Writer

In this section we will discuss about the Writer class in Java.

Java IO Writer

Java IO Writer

In this section we will discuss about the Writer class in Java.

java.io.Writer is an abstract class which provides some methods to write characters to the stream. Object of this class can't be created directly. This class is a super class of all the classes which are involved in or to facilitate to write (output) the character streams. Classes descended from this class may overrides the methods of this class but the method write(char[], int, int), flush() and close() must be implemented by the subclasses.

Constructor Detail

Constructor
Description
Writer() This is a default constructor which creates a writer for writing character streams. In such type of character streams writer synchronization of critical sections is depend on the writer itself.
Syntax : protected Writer()
Writer(Object lock) A parameterized constructor which creates a writer for writing character streams. In such type of character streams writer synchronization of critical sections is depend on the given object.
Syntax : protected Writer(Object lock)

Methods Detail

  • append(char c) : This method is used to write the characters with appending characters into the stream.

    Syntax : public Writer append(char c) throws IOException
     
  • append(CharSequence csq) : This method is used to write the sequence of characters with appending characters into the stream.

    Syntax : public Writer append(CharSequence csq) throws IOException
     
  • append(CharSequence csq, int start, int end) : This method is used to write the specified part of a sequence of characters.

    Syntax : public Writer append(CharSequence csq, int start, int end) throws IOException
     
  • close() : This method is used to close the stream as well as to release the resources associated with the stream.

    Syntax : public abstract void close() throws IOException
     
  • flush() : This method is used to flush out the stream.

    Syntax : public abstract void flush() throws IOException
     
  • write(char[] cbuf) : This method is used to write character's array.

    Syntax : public void write(char[] cbuf) throws IOException
     
  • write(char[] cbuf, int off, int len) : This method is used to write a specified length of characters of an array of characters started from offset 'off'.

    Syntax : public abstract void write(char[] cbuf, int off, int len) throws IOException
     
  • write(int c) : This method is used to write a character to the stream.

    Syntax : public void write(int c) throws IOException
     
  • write(String str) : This method is used to write a specified string to the stream.

    Syntax : public void write(String str) throws IOException
     
  • write(String str, int off, int len) : This method is used to write the specified length of string of a specified string started at the offset 'off'.

    Syntax : public void write(String str, int off, int len) throws IOException

Example

To demonstrate how to use Writer to write into the output stream I am giving a simple example. In this example I have created a Java class named JavaWriterExample.java where I have created an object of Writer using BufferedWriter to write to the output stream and created object of FileWriter to write the stream to the file. Further in the example I have flushed and closed the stream using finally block.

Source Code

JavaWriterExample.java

import java.io.Writer;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class JavaWriterExample
{
   public static void main(String args[])
    {
         char[] ch = {'a', 'b', 'c'};
         FileWriter fw = null;
         Writer wr = null;
         //BufferedWriiter bw = null;
         try
           {
              fw = new FileWriter("test.txt");
              wr = new BufferedWriter(fw);
              wr.write("Welcome to Roseindia");
              wr.write("    ");
              wr.write(ch);
              System.out.println("\n File successfully written");
           }
         catch(IOException ioe)
           {
              System.out.println(ioe);
           }
         finally
           {
              if(fw != null)
                {
                   try
                     {
                        fw.flush();
	          wr.flush();  
                        fw.close();
	          wr.close();
                     }
                   catch(Exception e)
                     {
                        System.out.println(e);
                     }
                }
         }//finally closed     
    }// main closed
}// class closed

Output

When you will compile and execute the above example like below then the output will be as follows :

When the output will show like the above then if you will open the directory what you have given the path at the time of creating of file (say test.txt) you will see that the file with the specified name is created and contains the text written by the Java program.

Source code of the above example can be downloaded from the link given below.

Download Source Code