Java.io.PrintWriter.printf() 方法

描述

java.io.PrintWriter.printf() 方法是使用指定格式字符串和参数将格式化字符串写入此编写器的便捷方法。 如果启用了自动刷新,则调用此方法将刷新输出缓冲区。


声明

以下是 java.io.PrintWriter.printf() 方法的声明。

public PrintWriter printf(Locale l,String format,Object... args)

参数

  • l − 在格式化期间应用的语言环境。 如果 l 为 null,则不应用本地化。

  • format − 格式字符串语法中描述的格式字符串。

  • args − 格式字符串中的格式说明符引用的参数。 如果参数多于格式说明符,则忽略多余的参数。 参数的数量是可变的,可能为零。 参数的最大数量受 Java 虚拟机规范定义的 Java 数组的最大维度限制。 空参数的行为取决于转换。


返回值

此方法返回此作者。


异常

  • IllegalFormatException − 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、给定格式字符串的参数不足或其他非法条件。 有关所有可能的格式错误的规范,请参阅格式化程序类规范的详细信息部分。

  • NullPointerException − 如果格式为空。


示例

下面的例子展示了 java.io.PrintWriter.printf() 方法的使用。

package com.tutorialspoint;

import java.io.*;
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 specified locale.
         // %s indicates a string will be placed there, which is s
         pw.printf(Locale.UK, "This is a %s program", s);

         // change line
         pw.println();

         // printf text with specified locale
         // %d indicates an integer will be placed there, which is 100
         pw.printf(Locale.UK, "This is a %s program with %d", s, 100);

         // flush the writer
         pw.flush();
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

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