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

De La Cuesta picture De La Cuesta · Feb 4, 2011 · Viewed 74.9k times · Source

I'm using String.format() in Java trying to emulate the printf() control channel available in C. I understand how to specify that a string should be placed in a field which takes 20 characters, 5, 2 ... with 3 decimals, 2, etc. However, the strings are printed right-aligned in their field.

How do I left-align the strings?

Here's an example of a possible output which I would like to modify to left-align EXECUTING and CREATED in their fields.

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

*note: consider '-' as an empty space

Answer

Chris Dodd picture Chris Dodd · Feb 4, 2011

Same way as with printf -- use a - modifier in the format