The method is a convenience method to write 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 printf(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. For specification of all possible formatting errors, see the Details section of the formatter class specification.

  • NullPointerException − If the format is null.


The following example shows the usage of method.

package com.tutorialspoint;

import java.util.Locale;

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

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

         // change line

         // printf text with default locale
         // %d indicates a integer will be placed there, which is 100
         pw.printf("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