How to Pad a String in Java
Padding strings with spaces or a specific character is a common text output requirement. This is required when you want to generate a fixed format output even when the size of the data displayed are different. However there are no built-in Java functions for String padding. Using a third party library just for string padding is overkill!
The following Java program contains custom functions for right padding and left padding a string with a specific character. Run the program to see padding in action!
Code Example: How to Pad a String in Java
// Demo: How to right pad or left pad Strings in Java
public class PaddingDemo {
    public static void main(String[] args) {
        String input1 = "Hello World!";
        String input2 = "Hi There!";
        String output1 = padRight(input1,20,'*');
        String output2 = padRight(input2,20,'*');
        
        System.out.println(output1);
        System.out.println(output2);
        output1 = padLeft(input1,20,'*');
        output2 = padLeft(input2,20,'*');
        
        System.out.println(output1);
        System.out.println(output2);
    }
    
    // Right pad a string with the specified character
    public static String padRight(String s, int size,char pad) {
        StringBuilder builder = new StringBuilder(s);
        while(builder.length()<size) {
            builder.append(pad);
        }
        return builder.toString();
    }
    
    // Left pad a string with the specified character
    public static String padLeft(String s, int size,char pad) {
        StringBuilder builder = new StringBuilder(s);
        builder = builder.reverse(); // reverse initial string
        while(builder.length()<size) {
            builder.append(pad); // append at end
        }
        return builder.reverse().toString(); // reverse again!
    }
}
The output generated is,
Hello World!******** Hi There!*********** ********Hello World! ***********Hi There!