Java Formatter close() 方法



描述

Java Formatter close() 方法关闭此格式化程序。如果目标实现了 Closeable 接口,则将调用其 close 方法。关闭格式化程序允许它释放它可能持有的资源(例如打开的文件)。如果格式化程序已关闭,则调用此方法无效。

声明

以下是 java.util.Formatter.close() 方法的声明

public void close()

参数

返回值

此方法不返回值。

异常

关闭使用美国区域设置的 Formatter 对象示例

以下示例演示了如何使用 Java Formatter close() 方法关闭格式化程序。我们使用 StringBuffer 和美国区域设置创建了一个格式化程序对象。Formatter 用于打印字符串,然后使用 close() 方法关闭。现在访问格式化程序将导致异常,如示例所示。

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);
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

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)

关闭使用德国区域设置的 Formatter 对象示例

以下示例演示了如何使用 Java Formatter close() 方法关闭格式化程序。我们使用 StringBuffer 和德国区域设置创建了一个格式化程序对象。Formatter 用于打印字符串,然后使用 close() 方法关闭。现在访问格式化程序将导致异常,如示例所示。

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);
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

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)

关闭使用法国区域设置的 Formatter 对象示例

以下示例演示了如何使用 Java Formatter close() 方法关闭格式化程序。我们使用 StringBuffer 和法国区域设置创建了一个格式化程序对象。Formatter 用于打印字符串,然后使用 close() 方法关闭。现在访问格式化程序将导致异常,如示例所示。

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);
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

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
广告