Utilisez le site String.format
Les espaces sont remplacés par le caractère souhaité.
String toPad = "Apple";
String padded = String.format("%8s", toPad).replace(' ', '0');
System.out.println(padded);
Imprimés 000Apple
.
Mise à jour version plus performante (puisqu'elle ne repose pas sur des String.format
), qui n'a aucun problème avec les espaces (merci à Rafael Borja pour l'astuce).
int width = 10;
char fill = '0';
String toPad = "New York";
String padded = new String(new char[width - toPad.length()]).replace('\0', fill) + toPad;
System.out.println(padded);
Imprimés 00New York
.
Mais une vérification doit être ajoutée pour empêcher la tentative de création d'un tableau de caractères avec une longueur négative.