The method writes a formatted string to this output stream using the specified format string and arguments.


Following is the declaration for method.

public PrintStream format(Locale l,String format,Object... args)


  • l -- The locale to apply during formatting. If l is null then no localization is applied.

  • 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 output stream


  • IllegalFormatExceptio -- 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 PrintStreamDemo {

   public static void main(String[] args) {
      String s = "Hello World";

      // create printstream object
      PrintStream ps = new PrintStream(System.out);

      // format a string
      ps.format(Locale.UK, "This is a %s program", s);

      // flush to see the string


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

This is a Hello World program