Write file in java using PrintWriter (class hierarchy & example)

  • PrintWriter writes the formatted data to output stream.
  • PrintWriter provides the methods to write int, boolean, char, String, double, float etc.

Constructors of PrintWriter (Java IO)

  • PrintWriter(File file)
    Creates a new PrintWriter, without automatic line flushing, with the specified file.
  • PrintWriter(File file, String csn)
    Creates a new PrintWriter, without automatic line flushing, with the specified file and charset.
  • PrintWriter(OutputStream out)
    Creates a new PrintWriter, without automatic line flushing, from an existing OutputStream.
  • PrintWriter(OutputStream out, boolean autoFlush)
    Creates a new PrintWriter from an existing OutputStream.
  • PrintWriter(String fileName)
    Creates a new PrintWriter, without automatic line flushing, with the specified file name.
  • PrintWriter(String fileName, String csn)
    Creates a new PrintWriter, without automatic line flushing, with the specified file name and charset.
  • PrintWriter(Writer out)
    Creates a new PrintWriter, without automatic line flushing.
  • PrintWriter(Writer out, boolean autoFlush)
    Creates a new PrintWriter.
PrintWriter class hierarchy
Fig 1: PrintWriter hierarchy

We will write the following kinds of data using PrintWriter:

  • Integer, Double, Boolean
  • String, Char, Character array and formatted data.

Program – Write file in java using PrintWriter

package org.learn.io;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
 
public class PrintWriterDemo {
    public static void main(String[] args) throws IOException {
        writeUsingPrintWriter();
    }
 
    private static void writeUsingPrintWriter() throws IOException {
        System.out.println("1. Start writting contents to file - PrintWriter");
        try (FileWriter fileWriter = new FileWriter(new File("sampleFile.txt"));
                PrintWriter printWriter = new PrintWriter(fileWriter)) {
            char charValue = 'A';
            boolean booleanValue = false;
            int intValue = 100;
            double doubleValue = 20.15;
            char[] charArray = "CharArray".toCharArray();
            String stringValue = "Some Value";     
             
            //Writing using PrintWriter
            printWriter.print(charValue);
            printWriter.print('.');
            printWriter.write(" Soccer");
            printWriter.println();
            printWriter.print(booleanValue);
            printWriter.println();
            printWriter.println(intValue);
            printWriter.println(doubleValue);
            printWriter.println(charArray);
            printWriter.println(stringValue);
            printWriter.format("Format - StringValue:%s, Integer:%d, char:%c",stringValue,intValue,charValue);
            printWriter.println();
            printWriter.write("Successfully demonstrated PrintWriter");
        }
        System.out.println("2. Successfully written contents to file - PrintWriter");
    }  
}

Output – Write file in java using PrintWriter

1. Start writting contents to file - PrintWriter
2. Successfully written contents to file - PrintWriter
File write PrintWriter example
Fig 2: Output of PrintWriter

Oracle Reference