The method writes a formatted string to this writer using the specified format string and arguments. If automatic flushing is enabled, calls to this method will flush the output buffer.


Following is the declaration for method.

public PrintWriter format(String format,Object... args)


  • format − A format string as described in Format string syntax.

  • args − Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored. The number of arguments is variable and may be zero. The maximum number of arguments is limited by the maximum dimension of a Java array as defined by the Java Virtual Machine Specification. The behaviour on a null argument depends on the conversion.

Return Value

This method returns this writer.


  • IllegalFormatException − If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments, insufficient arguments given the format string, or other illegal conditions.

  • NullPointerException − If the format is null.


The following example shows the usage of method.

package com.tutorialspoint;


public class PrintWriterDemo {
   public static void main(String[] args) {
      String s = "Hello World";
      try {
         // create a new writer
         PrintWriter pw = new PrintWriter(System.out);

         // format text with default locale
         // %s indicates a string will be placed there, which is s
         pw.format("This is a %s program", s);

         // change line

         // format text with default locale
         // %d indicates a integer will be placed there, which is 100
         pw.format("This is a %s program with %d", s, 100);

         // flush the writer
      } catch (Exception ex) {

Let us compile and run the above program, this will produce the following result −

This is a Hello World program
This is a Hello World program with 100