Java.io.PrintWriter.printf() 方法

  • 描述

    Java.io.PrintWriter.printf() 方法是使用指定的格式字符串和参数将格式化的字符串写入到这个写入器的便捷方法。如果启用了自动刷新,则对该方法的调用将刷新输出缓冲区。
  • 声明

    以下是protected void printf()方法的声明。
     public PrintWriter printf(Locale l,String format,Object... args)
  • 参数

    l-格式化期间要应用的语言环境。如果l为null,则不应用任何本地化。
    format-格式字符串语法中描述的格式字符串。
    args-格式字符串中格式说明符引用的参数。如果参数多于格式说明符,则多余的参数将被忽略。参数的数量是可变的,可以为零。参数的最大数量受Java虚拟机规范定义的Java数组的最大维数的限制。空参数上的行为取决于转换。
  • 返回值

    此方法返回此Writer。
  • 异常

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

    以下示例显示java.io.PrintWriter.printf()方法的用法。
     
    package com.jc2182;
    
    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