关于java:如何使用String.format()左对齐字符串?

How can I left-align strings using String.format()?

我在Java中使用String.format()尝试模拟C语言中可用的printf()控制通道。我了解如何指定将字符串放置在20个字符,5个,2个...的字段中, 3位小数,2位等。但是,字符串在其字段中右对齐打印。

如何将弦左对齐?

这是一个可能的输出的示例,我想将其修改为在其字段中左对齐EXECUTINGCREATED

1
2
3
Process PID: 25    Status: -----------       EXECUTING
Process PID: 36    Status: READY-SUSPENDED
Process PID:  4    Status: ----------------        CREATED

*注:将"-"视为空白


与printf相同-使用-修饰符,格式为


像这样?

1
2
3
4
5
6
7
8
9
10
class F {
  public static void main( String ... args ) {
    String [] status =  {"EXECUTING","READY-SUSPENDED","CREATED" };
    int [] pids =  {123, 34, 1231 };
    int i = 0;
    for( String s : status ) {
       System.out.printf("Process PID: %5d Status : %s%n", pids[i++], s);
    }  
  }
}

输出:

1
2
3
4
$java F
Process PID:   123 Status : EXECUTING
Process PID:    34 Status : READY-SUSPENDED
Process PID:  1231 Status : CREATED