Java Formatter close() Method



Description

The Java Formatter close() method closes this formatter. If the destination implements the Closeable interface, its close method will be invoked. Closing a formatter allows it to release resources it may be holding (such as open files). If the formatter is already closed, then invoking this method has no effect.

Declaration

Following is the declaration for java.util.Formatter.close() method

public void close()

Parameters

NA

Return Value

This method does not return a value.

Exception

NA

Closing a Formatter Object of US Locale Example

The following example shows the usage of Java Formatter close() method to close a formatter. We've created a formatter object with a StringBuffer and a US locale. Formatter is used to print a string and then closed using close() method. Now accessing the formatter will result in exception as shown in the example.

package com.tutorialspoint;

import java.util.Formatter;
import java.util.Locale;

public class FormatterDemo {
   public static void main(String[] args) {

      // create a new formatter
      StringBuffer buffer = new StringBuffer();
      Formatter formatter = new Formatter(buffer, Locale.US);

      // format a new string
      String name = "World";
      formatter.format("Hello %s !", name);

      // print the formatted string
      System.out.println("" + formatter);

      // close the formatter
      formatter.close();

      // attempt to access the formatter results in exception
      System.out.println("" + formatter);
   }
}

Output

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

Hello World !
Exception in thread "main" java.util.FormatterClosedException
   at java.util.Formatter.ensureOpen(Formatter.java:2318)
   at java.util.Formatter.toString(Formatter.java:2265)
   at java.lang.String.valueOf(String.java:2826)
   at java.lang.StringBuilder.append(StringBuilder.java:115)
   at com.tutorialspoint.FormatterDemo.main(FormatterDemo.java:25)

Closing a Formatter Object of GERMAN Locale Example

The following example shows the usage of Java Formatter close() method to close a formatter. We've created a formatter object with a StringBuffer and a GERMAN locale. Formatter is used to print a string and then closed using close() method. Now accessing the formatter will result in exception as shown in the example.

package com.tutorialspoint;

import java.util.Formatter;
import java.util.Locale;

public class FormatterDemo {
   public static void main(String[] args) {

      // create a new formatter
      StringBuffer buffer = new StringBuffer();
      Formatter formatter = new Formatter(buffer, Locale.GERMAN);

      // format a new string
      String name = "World";
      formatter.format("Hello %s !", name);

      // print the formatted string
      System.out.println("" + formatter);

      // close the formatter
      formatter.close();

      // attempt to access the formatter results in exception
      System.out.println("" + formatter);
   }
}

Output

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

Hello World !
Exception in thread "main" java.util.FormatterClosedException
   at java.util.Formatter.ensureOpen(Formatter.java:2318)
   at java.util.Formatter.toString(Formatter.java:2265)
   at java.lang.String.valueOf(String.java:2826)
   at java.lang.StringBuilder.append(StringBuilder.java:115)
   at com.tutorialspoint.FormatterDemo.main(FormatterDemo.java:25)

Closing a Formatter Object of FRENCH Locale Example

The following example shows the usage of Java Formatter close() method to close a formatter. We've created a formatter object with a StringBuffer and a FRENCH locale. Formatter is used to print a string and then closed using close() method. Now accessing the formatter will result in exception as shown in the example.

package com.tutorialspoint;

import java.util.Formatter;
import java.util.Locale;

public class FormatterDemo {
   public static void main(String[] args) {

      // create a new formatter
      StringBuffer buffer = new StringBuffer();
      Formatter formatter = new Formatter(buffer, Locale.FRENCH);

      // format a new string
      String name = "World";
      formatter.format("Hello %s !", name);

      // print the formatted string
      System.out.println("" + formatter);

      // close the formatter
      formatter.close();

      // attempt to access the formatter results in exception
      System.out.println("" + formatter);
   }
}

Output

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

Hello World !
Exception in thread "main" java.util.FormatterClosedException
   at java.util.Formatter.ensureOpen(Formatter.java:2318)
   at java.util.Formatter.toString(Formatter.java:2265)
   at java.lang.String.valueOf(String.java:2826)
   at java.lang.StringBuilder.append(StringBuilder.java:115)
   at com.tutorialspoint.FormatterDemo.main(FormatterDemo.java:25)
java_util_formatter.htm
Advertisements